例如,我想从21:00到08:00运行代码。但代码无法正常工作,因为时钟到达24:00(00:00)时,代码会发生混乱,无法设置01:00。请检查00:00,因为时钟是24小时制。
我需要这个代码的黑暗模式的网站,这样我的网站将在黑暗模式之间的一个理想的小时,例如,从晚上10点到早上6点。
注意:我可以为此任务指定任何时间,而不是只选择一个时间。例如,我可以选择21:00到3:00 am。这是随机的,因为时间是由我的客户选择的,我不知道他们选择了什么时间。!!!
如果我指定任何一个小时,你能指导我让我的代码在24小时内正确工作吗?
$hour = date('H');
//$hour = 23;
if( $hour > 22 && $hour < 8) {
echo "Good night";
}else{
echo "Good Morning";
}
2条答案
按热度按时间yc0p9oo01#
您可以使用模运算符来处理24小时制。
这样,只要开始时间大于或等于结束时间,它就适用于您选择的任何时间范围。
时:分:
xcitsw882#
反转间隔(21:00到08:00与08:00到21:00)时,还需要反转逻辑:
$start
〈$end
,则需要检查$current >= $start && $current <= $end
$current >= $start || $current <= $end
你还需要考虑分钟和秒。为此,你可以传递一个完整的格式正确的
H:M:S
字符串,并将所有内容转换为相同的单位,这样比较就有意义了。如果你创建一个只做一件事的专用函数,你会更容易看到:Demo
不用说,因为我们是在服务器上使用服务器时钟,所以这对用户来说可能没有意义,如果你知道用户的时区,计算当前时间时使用you can take it into account。