Php 基于时间的If-else语句

Php 基于时间的If-else语句,php,Php,我正在尝试在PHP上编写一个代码,其中上午6:00到下午5:59之间的时间是早晨,将显示太阳,而下午6:00到5:59之间的时间将显示月亮 到目前为止,这是我的代码: 它始终显示月球图像 <?php date_default_timezone_set("Asia/Manila"); echo date("l, "); echo date("d F Y "); echo date("G:i:sa "); if (date('G'>17) &am

我正在尝试在PHP上编写一个代码,其中上午6:00到下午5:59之间的时间是早晨,将显示太阳,而下午6:00到5:59之间的时间将显示月亮

到目前为止,这是我的代码:

它始终显示月球图像

<?php
date_default_timezone_set("Asia/Manila");
    echo date("l, ");
    echo date("d F Y  ");


    echo date("G:i:sa  ");

    if (date('G'>17) && ( 'f' >=59) && ('sa' >=59))
    {
        echo $timeImage = "<img src=sun.png>";

    }

    else if(date('G'<6) && ('f' <= 01) && ('sa' <= 01 ))
    {
        echo $timeImage = "<img src=moon.png>";

    }


?>


'f'>=59
没有多大意义。在数字上下文中,它将归结为:
0>=59
您的
如果
语句没有意义,则条件将完全混乱。Franz的方法要好得多,而且很有效:)对不起,我是PHP新手,我正试图根据我所知道的来做这件事:)好吧,谢谢你的帮助:)非常感谢
<?php
$seconds = time() - strtotime("today"); //seconds since midnight for now
$sec_a = 6*60*60; //seconds since midnight for 6am
$sec_b = 18*60*60; //seconds since midnight for 6pm

if($seconds >= $sec_a and $sec_b >= $seconds) //current seconds are larger than 6am or equal but smaller than 6pm
{
    echo "daytime";
} else {
    echo "nighttime";
}