PHP は現在時刻が特定の時間範囲内にあることをどのように判断しますか?
番組スケジュールを出力する番組スケジュール関数がありますその日のために。 。
主に番組名、番組紹介、番組開始時刻、番組終了時刻が含まれます。 。
現時点でどれが出力されているかを確認するにはどうすればよいですか?
lz テーブルを詳細にリストするのが最善です
SQL コード
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 `) 週のフィールド名は mysql の予約語であることに注意してください。
current time curtime()
start_time とfinish_time の間の curtime() 内の現在時刻の期間
select * from tbl_name where find_in_set(weekday(now()),`week`) and curtime() between start_time and finish_time
上記は、PHP が現在時刻が特定の時間範囲内にあることを判断する方法です。さらに関連した内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。