聖霊降臨祭:
私は、MySQL DBに2回は10:00開始と時間がそれを行うにはどのようにこの2倍の大きい以下でない場合、私はPHPで確認したい今、18:00を終了する必要がありますか?MySQLのが唯一の無日時TIMEに設定されているおかげで、基本的に私は時間が今、開始と終了の間にないかどうかを確認したいです。スタートは表し= from2は、エンドTO2を表します。Day_idは曜日の.thisで動作していないものです
$time_now = date("H:i");
//in DB format 00:00 // time
echo "SELECT * FROM opening_hrs WHERE
(TIME(from2) > TIME('".$time_now."') AND TIME(to2) < TIME('".$time_now."') )
AND day_id=".$day_id;
時間(「H:I」)をチェックする方法任意のアイデア。DBから倍の間に?
O.ジョーンズ:
現在の時刻のMySQLの概念を使って、このクエリをお試しください。
SELECT * FROM opening_hrs
WHERE TIME(NOW()) >= TIME(from2)
AND TIME(NOW()) < TIME(to2)
AND day_id=whatever
プロ先端が使用するように注意してください>=
時間範囲の始まりのためにと<
避けるために、それらの端部のためにオフ対1のエラーを。
NOW()
MySQLでは、タイムゾーンに敏感な操作です。あなたはこの権利を行う場合は、それぞれのMySQL接続を開いた後。あなたからあなたのローカルタイムを取得しますNOW()
。
SET time_zone = `Australia/Sydney`;
Obvs、あなた自身の使用のタイムゾーン指定子を。