0

これが私のコードです、どこで間違いを犯しますか?ところで、私のタイムゾーンは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

4 に答える 4

1
$current_time = date('H');

if ($current_time >18) {
echo "Good night";
} else if ($current_time <12) {
echo "Good morning";
} else {
echo "Good day";
}
于 2011-09-25T21:36:52.427 に答える
0

最後のテストで を確認する必要があり$current_time <=17ます。以下に注意してください... if (($current_time >=12) && ($current_time <=17))

ただし、@Ernestas Stankevičiusには、きれいな解決策があります。

于 2011-09-25T21:37:25.040 に答える
0

やってみてくださいvar_dump($current_time);。そうすれば、何が含まれているのか、どこで間違いを犯しているのかがわかります。

于 2011-09-25T22:00:35.017 に答える
0

予想通り、問題はタイムゾーンにあります。

<?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";
    }

?>
于 2011-09-26T21:39:54.773 に答える