PHP MySQL 24h查询输出24h + 10h

时间:2013-03-24 23:49:51

标签: php sql time timezone

我在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 );

在.php划线中设置时区

似乎它正在运行最后一天的查询,然后在之后添加+10小时的时区。我一直在寻找,但似乎找不到任何有同样问题的人。

1 个答案:

答案 0 :(得分:0)

听起来你的MySQL服务器设置了错误的时区。您可以正确设置系统时间并重新启动MySQL,也可以告诉它在运行时使用哪个区域:

mysql_query("SET time_zone = 'Australia/Brisbane'");
mysql_query("YOUR QUERY HERE");