2015-06-21 4 views
0

Мой сайт "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, например, я хочу, чтобы мой сайт работает п rom 0800 до 0200. Это не сработает, потому что если $currenttime будет 1000, оно будет больше, чем $startTime, но будет больше, чем $endTime.

Или, если $currenttime - 0000, оно будет меньше, чем $starttime и меньше, чем $endtime.

Не могу понять, как это решить.

Пожалуйста, помогите!

ответ

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"; 
    } 
?> 
0

Вы можете преобразовать Time Струны для временных меток с 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 !!"; 
}