2016-08-11 34 views
1

我已經寫了這個簡單的PHP代碼來告訴我當前時間是否已經過去,以及是否小於上午6點。時間在一個範圍內?總是返回錯誤

當前時間是17:56,但此代碼回波「不」。
什麼問題?

$hourMin = date('H:i'); 
if ($hourMin >= strtotime('17:00') && $hourMin <= strtotime('06:00')) { 
    echo "Yes"; 
} else { 
    echo "No"; 
} 
+1

的strtotime(包$hourMin)返回一個時間戳,日期( 'H:我')返回字符串 「14:11」(用於例)。你無法比較這一點。 –

+1

你可能會受益於使用[PHP日期時間對象](https://paulund.co.uk/datetime-php) – Martin

回答

1

您有一個邏輯問題。如何能夠大於17:00小時,並且隨後小於06:00小時?這就是爲什麼它總是不打印。

您基本上已經創建了if (1==0) { echo "Yes" }當然,你會發現永遠不會發生。

編輯:

還需要在strtotime

if (strtotime($hourMin) >= strtotime('17:00') || 
    strtotime($hourMin) <= strtotime('06:00')) { 
+0

好的,這使得我很想知道當前時間是否大於5pm而不到6am認爲這將是一個簡單的一個大聲笑 – carl

+0

我想你想要的是這裏的or運算符...將'&&'改爲'||' – mituw16

+0

檢查它是否> = 17:00或<= 06:00 – Barmar

相關問題