0

特定の曜日のフィルターを実行しようとしています。

私のphpコードには次のようなものが含まれています

Select * from table_name where Weekday(DATE(project_surveydate)) = 0;

phpMyAdmin で上記の行を使用すると、月曜日のすべてのレコードに対して正しいレコードが返されます。

ただし、php スクリプトでそのコードを実行すると、日曜日にいくつかのレコードが返されます。

project_surveydate データ型はタイムスタンプです。

21:00:00 以上の日曜日のみが返されることに気付きました。

たとえば、project_surveydate が (Sunday) 2012-05-03 13:25:14 の場合、含まれません。2012-05-03 21:25:14 の場合、結果に含まれます。

何が原因なのか本当にわかりません。どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

サーバーのタイムゾーンが結果に影響しているようです。接続ごとにタイムゾーンを設定できます。

SET time_zone = '+00:00';

MySQL は、保存のために TIMESTAMP 値を現在のタイム ゾーンから UTC に変換し、取得のために UTC から現在のタイム ゾーンに戻します。ここに記載されているいくつかの方法でmysqlのデフォルトのタイムゾーンを変更できます:http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html

于 2013-03-27T15:02:59.803 に答える