2011-10-02 65 views
0

我的開始時間爲下午3:30,結束時間爲4:14:59 pm。這兩個值都是字符串,所以我用strtotime()來轉換它們。我不確定它在測試時是否考慮到了這一點。我想獲取當前時間並檢查當前時間是否在這兩個值之間。在PHP中使用時間和時間比較兩次

$server_time = strtotime("3:55 AM");  

if($server_time > strtotime($start) && $server_time < strtotime($end)) 
{ 
    echo "TRUE";    
} 
else 
{ 
    echo "FALSE"; 
} 

這應該是錯誤的考慮我的服務器時間是AM,我的開始和結束都是PM。儘管如此,這仍然是真的。有沒有更好的方法來處理這個問題?

任何幫助,將不勝感激。

+2

請說明如何'$ start'和'$ end'定義。 –

+0

作爲練習/演示:http://codepad.org/iOjzeZR2 –

+0

我從數據庫中提取開始和結束值。讓我檢查一下是否有問題。謝謝你的樣品。 – sinclairchase

回答

0

strtotime是非常挑剔的,我傾向於使用它只爲mysql日期轉換爲時間戳。 AM和PM分析日期應該沒有問題,但爲了簡單起見,如果您不想有麻煩轉換日期,請使用軍事時間。

例如:

Military: 16:34:59 
Standard: 4:34:59 PM 
+0

它不*挑剔*,它只需要遵循* [支持的日期和時間格式](http://www.php.net/manual/en/datetime.formats.php)*。 –

+0

非常感謝。 – sinclairchase