2013-10-09 128 views
1

我正在嘗試編寫PHP代碼來檢查日期/時間是否落在一定範圍內以呈現某些HTML,並且如果它不顯示其他HTML。以下是我的代碼。如果我將比較設置爲未來日期,則似乎工作正常,&標誌狀態將變爲一半人員&,然後根據參數返回到全部人員。然而,第二天,在狀態恢復爲全員工後大約2-3小時,它會自動恢復到半員工狀態。在日期範圍內更改事件

if(date('Y-n-j-G-i') >= '2013-10-9-12-00' && date('Y-n-j-G-i') <= '2013-10-10-5-00') { 

    echo "<span style='font-size:1.1em'>Governor's Flag Status:</br> <span style='color:#f00'>Half Staff</span></span>"; 
} 
else { 
    echo "<span style='font-size:1.1em'>Governor's Flag Status:</br> <span style='color:#333'>Full Staff</span></span>"; 
} 

我試圖'想'通過邏輯,但它似乎我失去了一些東西。任何幫助,將不勝感激。

+0

你從哪裏得到像''2013-10-10-5-00''格式? –

回答

1

不要比較字符串(因爲實際上是這樣做的,因爲date()函數會返回格式化的字符串),請改爲比較UNIX時間戳。

使用timestrtotime與有效時間格式:

$currentTime = time(); 
if($currentTime >= strtotime('2013-10-9 12:00') && 
    $currentTime <= strtotime('2013-10-10 5:00')) { 
+0

謝謝。這似乎工作。比較數值比確定比較字符串更有意義。 :) – samman58

相關問題