场景:
设置开业时间为 12:00- 02:00
//当前时间
//00 01 - 02 - 03 ... 10 - 11 - 12 - 13...
$now = date("H:i",time());
// 开始时间
//00 01 - 02 - 03 ... 10 11 12 13...
$start_time = 12:00;
// 结束时间
00 01 - 02 - 03 ... 10 - 11 - 12 - 13...
$end_time = 02:00;
//比较方式
// 当前时间大于等于开始时间小于等于结束时间
$now >= $start_time && $now <= $end_time
//当前那个时段设置已下设置时候,以上比较全部不成立
$satr_time = 21:00;
$end_time = 2:00
//加判断,如果结束时间比开始时间小、判断是第二天 +24
if($satrt_time > $end_time)
$end_time += 24;
/*当前代码*/
if($satrt_time > $end_time)
$end_time += 24;
if($now >= $start_time && $now <= $end_time)
{
echo "显示"
}
/*
这时当时 $now <= 23:59 时,判断成立
当 $now > 23:59 时,判断不成立
因为$now > 23:59 时,变为 00:00
*/
$now >= $start_time // 00:00 > 21:00,不成立
/*改进代码*/
//有凌晨
if($start_time > $end_time){
$end_time += 24;
// 当前时间为凌晨在加上 24 h
if($now < 6)
$now += 24;
}
if($now >= $start_time && $now <= $end_time)
{
echo "显示"
}
//当场景为下值时,判断也成立
$now = 01:00;
$satr_time = 21:00;
$end_time = 02:00;