2016-07-14 79 views
1

之間的時間我想要檢查,如果當前的時間是2倍檢查兩次

我瀏覽了多個腳本,但迄今爲止所有的腳本之間還包括日期,或僅僅是困難的,或腳本只計算全小時像6或7,而我需要檢查小時和分鐘

我將不勝感激的幫助下,該腳本設置,我想是在定義

$begintime = 8:30; 
$endtime = 17:00; 

if(currenttime is between $begintime and $endtime) { 
    // do something 
} else { 
    // do something else 
} 

回答

4

使用DateTime對象。它將在內部使用當前日期,然後可以將其忽略。

$begin = new DateTime('8:00'); 
$end = new DateTime('17:00'); 
$now = new DateTime(); 

if ($now >= $begin && $now <= $end) 
+0

感謝此@finwe – user2461508

+0

@ user2461508您能否將答案標記爲已接受? – Finwe

2

查看PHP的DateTime函數。

$now = new Datetime("now"); 
$begintime = new DateTime('08:30'); 
$endtime = new DateTime('17:00'); 

if($now >= $begintime && $now <= $endtime){ 
    // between times 
    echo "yay"; 
} else { 
    // not between times 
    echo "nay"; 
} 

此外,請確保您的時區在您的php.ini中正確設置。或者你可以使用date_default_timezone_set()在運行時設置它;

+0

謝謝,這有助於很多@sam – user2461508

0

退房。我測試這個代碼。它工作正常。

date_default_timezone_set("Asia/Kolkata"); 
$current_time = date("h:i a"); 
$begin = "9:00 am"; 
$end = "5:00 pm"; 

$date1 = DateTime::createFromFormat('H:i a', $current_time); 
$date2 = DateTime::createFromFormat('H:i a', $sunrise); 
$date3 = DateTime::createFromFormat('H:i a', $sunset); 

if ($date1 > $date2 && $date1 < $date3) { 
    echo 'Here'; 
} else { 
    echo 'Not'; 
}