Показать другое сообщение с часами | PHP - PullRequest
0 голосов
/ 26 сентября 2011

вот мой код, где я ошибаюсь?Кстати, мое время ZONE - UTC + 2:00.Спасибо за ответы заранее.

<?php

    $current_time = date('H');

    if ($current_time >18) {
    echo "Good night";
    }
    if ($current_time <12) {
    echo "Good morning";
    }
    if (($current_time >=12) && ($current_time <17)) {
    echo "Good day";
    }

?>

Ответы [ 4 ]

1 голос
/ 26 сентября 2011
$current_time = date('H');

if ($current_time >18) {
echo "Good night";
} else if ($current_time <12) {
echo "Good morning";
} else {
echo "Good day";
}
0 голосов
/ 27 сентября 2011

Как и предполагалось, проблема в часовом поясе.

<?php
    date_default_timezone_set('Europe/Sofia');
    $current_time =date('H');

    echo "$current_time";
    if ($current_time >'18') {
    echo "Good night";
    }
    if ($current_time <'12') {
    echo "Good morning";
    }
    if (($current_time >='12') && ($current_time <='17')) {
    echo "Good day";
    }

?>
0 голосов
/ 26 сентября 2011

Попробуйте сделать var_dump($current_time);. Таким образом, вы поймете, что в нем содержится и где вы делаете ошибку.

0 голосов
/ 26 сентября 2011

Ваш последний тест должен проверить на $current_time <=17. Обратите внимание, что меньше или равно ... if (($current_time >=12) && ($current_time <=17))

@ Эрнестас Станкявичюс имеет хорошее чистое решение хотя.

...