php怎麼判斷目前時間在某個時間範圍內?
我有一個節目表功能,輸出當天的節目單安排。。
主要有 節目名稱 節目介紹 和 節目開始時間和節目結束時間。。
我要怎麼判斷目前時間輸出的是哪一個?
如何做時間判斷?
------解決方案--------------------
WHERE NOW() BETWEEN `節目開始時間` AND `節目結束時間`;
------解決方案--------------------
這個和你sql沒有關係。你的節目表目前看沒有規律,即使有可能以後需求也會變,只要在你的節目表中加個到期時間段就行了。
------解決方案--------------------
lz最好能把表詳細列出來
SQL code
SELECT * FROM `table` WHERE CURRENT_TIME() BETWEEN `開始時間` AND `結束時間`;
------解決方案--------------------
資料庫是不是可以存一個地區呢。一個開始一個結束。這樣不就好辦了?
------解決方案--------------------
如果你節目單是周期性的,那就有多個判斷拉。
swtch($weeks){
case 1:
3:00 - 5:00->a節目表,5:00 - 6:00->b節目表,6:00-9:00->節目表c}這樣的(做相應的判斷就可)
case 2:
{3:00 - 5:00->a節目表,5:00 - 5:30->B節目表,5:30 - 6:00->D節目表,8:00-9:30->C節目表}(同理)
}
------解決方案--------------------
為啥搞這麼糾結...
節目表是有規律的是吧? 那麼只要在資料庫中記錄每個節目的起始時間,用unixtimestamp表示,只要
節目開始 < 目前時間 < 節目結束 不就行了嗎?
然後就是定時去填充節目表就行唄..
------解決方案--------------------
你早給出表結構,問題早就解決了!
現在的日期 now()
今天周幾 weekday(now())
今天有哪些節目播出 find_in_set(weekday(now()), `week`) 注意你的 week 欄位名是 mysql 保留字
現在的時間 curtime()
當前的時間在哪個時間段 curtime() between start_time and finish_time
組合在一起
select * from tbl_name where find_in_set(weekday(now()),`week`) and curtime() between start_time and finish_time
------解決方案--------------------
14樓的回答最靠譜,我贊同。