当前两小时之间的时间

时间:2015-06-21 08:04:42

标签: php date time range hour

我的网站有" StartHour"和" EndHour"

示例:

如果当前时间(1500)位于 StartHour(0800) EndHour(2300)之间,则该网站可以运行,然后:

    $currentTime= date('Hi');
    $startTime= $setting_info['start_hour']; // 
    $endTime=  $setting_info['end_hour']; //
if($currentTime>=$startTime && $currentTime<=$endTime) 
    {
    echo "Site Works Perfectly";
    }

问题是当$endTime大于2359时,我希望我的网站工作时间从0800到0200.它不会工作,因为如果$currenttime是1000,那么它将是大于$startTime,但也会大于$endTime

如果$currenttime为0000,则会小于$starttime且小于$endtime

我无法弄清楚如何解决这个问题。

请帮忙!

2 个答案:

答案 0 :(得分:0)

使用如下:

<?php
 $currentTime= time();
$startTime= "08:00:00";
$endTime=  "22:00:00";
 $startTime=strtotime(date('Y-m-d '.$startTime));
 strtotime($startTime);
$endTime=strtotime(date('Y-m-d '.$endTime));
if($currentTime>=$startTime && $currentTime<=$endTime) 
    {
    echo "Site Works Perfectly";
    }
?>

答案 1 :(得分:0)

您可以使用strtotime()将时间字符串转换为时间戳,并将其与thime()进行比较

$st_time    =   strtotime($setting_info['start_hour']);
$end_time   =   strtotime($setting_info['end_hour']);
$cur_time   =   strtotime(now);

if($st_time < $cur_time && $end_time > $cur_time)
{
   echo "WE ARE CLOSE NOW !!";
}
else{
   echo "WE ARE OPEN  NOW !!";
}