2015-10-19 103 views
0

我有一個以毫秒爲單位的開始和結束時間。PHP檢查當前時間是否在兩次之間

當用戶訪問該頁面時,我必須獲取所有ON AIR系列電視節目。

所以我想這樣做:

if($prog["inizio"] < time() && $prog["fine"] > time()){ 
     array_push($programmazioneFinal[$date."-".$prog["id_canale"]], $prog); 
} 

的邏輯是隻得到它的啓動時間比現在低(意甲已經啓動)和結束時間比現在更大的系列。

由於某些原因,它還會返回那些在當天晚些時候開始的系列,而不僅僅是那些現在在AIR上的系列。

怎麼了?

我已經添加了我的數據庫的屏幕截圖只是爲了使這個更清晰。

enter image description here

謝謝!

+0

你試圖做到這一點在PHP側時間戳值,而不是DB端? –

+0

如果你正在做這件事在PHP方面,採取我的答案...否則採取@胡里奧的回答 –

+0

可能你的* inizio *是錯誤的,可能是0('* null *

回答

1

在PHP中:您可以使用strtotime。這會給你,你可以用比較

strtotime("now") 

編輯在你的代碼

if($prog["inizio"] < strtotime("now") && $prog["fine"] > strtotime("now")){ 
     array_push($programmazioneFinal[$date."-".$prog["id_canale"]], $prog); 
} 
1

讓你查詢的樣子

Select * from ... WHERE UNIX_TIME($your_date_parameter) BETWEEN inizio AND fine 
相關問題