我在php脚本中运行以下SQL Query:
SELECT DATE_FORMAT(LogDateTime, '%k:%i') AS LogDate, Temp AS OutsideTemp, InsideTemp
FROM cumuluslog.monthly
WHERE LogDateTime > DATE_SUB(NOW(), INTERVAL 24 HOUR)
ORDER BY LogDateTime
问题是,我没有过去24小时,而是大约34个小时,我已经检查过我的时区设置为+10(我的本地时区)。当直接从phpmyadmin运行相同的查询时,它会给我正确的结果。
我尝试使用:date_default_timezone_set('Australia/Brisbane );
似乎它正在运行最后一天的查询,然后在之后添加+10小时的时区。我一直在寻找,但似乎找不到任何有同样问题的人。
答案 0 :(得分:0)
听起来你的MySQL服务器设置了错误的时区。您可以正确设置系统时间并重新启动MySQL,也可以告诉它在运行时使用哪个区域:
mysql_query("SET time_zone = 'Australia/Brisbane'");
mysql_query("YOUR QUERY HERE");