2013-05-09 80 views
1

我在基於兩個預先指定的時間比較當前時間時遇到問題。讓我告訴我想要什麼: 如果當前時間在晚上10點到上午8點之間,我想顯示一條消息。而我的代碼是PHP strtotime()並根據兩個給定時間比較當前時間

$current_time = strtotime('now'); 
if ($current_time > strtotime('10:00pm') && $current_time < strtotime('8:00am')) { 
    //Display message 
} 

但它不工作,因爲,經過上午12:00,的strtotime('10:00')是計算今天的10PM價值,是不能夠在給定的條件通過。所以我需要你的建議。

+0

從的strtotime返回的值()包含的最新信息數據,這是實際問題 – Shin 2013-05-09 06:00:23

+0

你想下午10:00 - 8:00 AM(第二天)??? – Shin 2013-05-09 06:04:21

+0

是的,正確。 – IFightCode 2013-05-09 11:49:55

回答

1

date("G", strtotime("now"))將呈現一個小時的24小時制,沒有前導零。

你想要的代碼將是:

$current_hour = date("G", strtotime("now")); 
if ($current_hour >= 22 || $current_hour < 8) { 
    //Display message 
} 
1

試試這個,

 $current_hour = date("G", strtotime("now")); 
    if ($current_hour > 23 || $current_hour < 8) { 
    if ($current_time > strtotime('10:00pm -1 Day') && $current_time < strtotime('8:00am')) { //after 
    //Display message 
    } 
    }else{ 
    if ($current_time > strtotime('10:00pm') && $current_time < strtotime('8:00am +1 Day')) { 
    //Display message 
     } 
    }