我有这段代码可以获得今天日出和日落时间的时间。
代码是:
<?php
function miltoampm($hour) {
$mins = substr($hour,-2);
$ampm = ($hour >=12 && $hour <24) ? "PM" : "AM";
$newhour = ($hour % 12 === 0) ? 12 : $hour % 12;
return $newhour . ':' . $mins . " " . $ampm;
}
//Calculate the sunrise and sunset time
//Latitude: 41.81
//Longitude: -87.68
//Zenith ~= 90
//offset: -5 GMT is Chicago
$sunriseTime = (date_sunrise(time(),SUNFUNCS_RET_STRING,41.8119,-87.6873,90,-5)); //Sunrise Time
$sunsetTime = (date_sunset(time(),SUNFUNCS_RET_STRING,41.8119,-87.6873,90,-5)); //Sunset Time
?>
现在我想这样做,但我真的不知道如何:
If current time is anywhere from $sunrise and less then $sunset then
$Img = "sun.png";
else
$Img = "noon.png";
end if
答案 0 :(得分:1)
将您的date_sunrise
返回格式修改为SUNFUNCS_RET_TIMESTAMP
而不是SUNFUNCS_RET_STRING
,以便将其与当前时间戳进行比较:
$sunriseTime = date_sunrise( time(), SUNFUNCS_RET_TIMESTAMP, 41.8119, -87.6873, 90, -5 );
$sunsetTime = date_sunset( time(), SUNFUNCS_RET_TIMESTAMP, 41.8119, -87.6873, 90, -5 );
...然后执行比较:
$img = time() > $sunriseTime && time() < $sunsetTime ? 'sun.png' : 'moon.png';
...然后显示结果图片:
echo '<img src="' . $img . '" />';
然后您可以打印日出和日落次:
echo 'Sunrise: ' . strftime("%r", $sunriseTime) . '<br/>';
echo 'Sunset: ' . strftime("%r", $sunsetTime);
答案 1 :(得分:0)
这样的东西?这将检查currentTime是否在日出和日落之间。
<?php
if(currentTime >= sunrise && currentTime <= sunset){
echo "sunrise";
}
else {
echo "sunset";
}
?>