MySQL データベースにイベントを格納し、開始日時を UNIX 形式の「startTimeStamp」列に格納しています。
簡単なクエリを使用して特定の日付のイベントを取得しようとすると
SELECT * FROM events
WHERE FROM_UNIXTIME( startTimeStamp
, '%Y-%m-%d') = '2013-08-20'
タイムスタンプの下の日付と時刻が午前 2 時 (つまり、2013-08-20 03:00:00) よりも大きい場合はすべて正常に機能しますが、それより前の場合は同じ日に表示されません。
簡単な例: 2 つのイベントがあります - 同じ日付で時間は異なります
- 2013-08-20 03:00:00 (1376960400)
- 2013-08-20 00:00:00 (1376949600)
前述のクエリを実行すると最初のものは取得されますが、2 番目のものは取得されません。2 番目のものを取得するには、前日 (2013-08-19) のイベントを照会する必要があります。
理由はわかりますか?多分私は何かを逃していますか?
どうもありがとう!