0
我有以下代碼,它顯示夏令時有效並返回正確的日期和時間以及正在使用的時區版本。但是,「白天」一直保留到當地時間晚上11點,而不是晚上10點,當需要顯示「夜間」時。我並不擅長編碼,也無法弄清楚獲得我想要的最好/最簡單的方法。請任何人都可以幫忙?php代碼沒有考慮到夏令時
<?php
date_default_timezone_set('Australia/Adelaide');
$hour = idate('H');
if (($hour >= 6 && $hour <= 22)) {
// after 6am and before 10pm
$daytime = true;
if ($daytime === true) {
print "Daytime";
}
}
else {
// 10pm to 6am the next day
$daytime = false;
if ($daytime === false) {
print "Night time";
}
}
?><br />
<?php date_default_timezone_set('Australia/Adelaide');
echo date("I, l, F jS, Y, h:i:s",time());
?><br /><br />
<?php echo timezone_version_get(); ?>
謝謝,但不使用H意味着24小時,所以對於晚上10點應該是22,不應該它?不會10代表上午10點,而不是10點。 – user8722983
我想我會被你的描述混淆..你的白天範圍和夜間範圍是什麼? @ user8722983 – Kasnady
白天從早上6點到晚上10點,即2200小時。晚上的時間是從晚上10點到早上6點。 – user8722983