我正在尝试对一周中的特定日期进行过滤。
我的PHP代码包含类似
的内容Select * from table_name where Weekday(DATE(project_surveydate)) = 0;
如果我在phpMyAdmin中使用上述行,则会返回周一所有记录的正确记录。
但是,当我通过我的php脚本运行该代码时,它会在星期日返回一些记录。
project_surveydate数据类型是时间戳。
我注意到它只返回21:00:00或更长时间的星期日。
例如,如果project_surveydate是(星期日)2012-05-03 13:25:14,则不会包含它。如果是2012-05-03 21:25:14,它将被包含在结果中。
我真的不知道造成这种情况的原因。 任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
看起来您的服务器时区正在影响结果。您可以基于每个连接设置时区:
SET time_zone = '+00:00';
MySQL将TIMESTAMP值从当前时区转换为UTC进行存储,然后从UTC转换回当前时区进行检索。您可以通过多种方式更改mysql的默认时区,如下所示:http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html