编程时区问题!

我们服务器的时间用的是美国中部时间。
我们在PHP运行环境中强制使用了纽约时间。
我把通过PHP的time函数生成的时间戳存进了DB。
然后我取时间的时候用到了from_unixtime(logtime,’%Y%m%d%H’) hourly, sum(amount) …… group by hourly
这样做导至了下面的问题:
由于MYSQL使用的是美国中部时区(MYSQL默认使用的是操作系统的时区)而导致在使用from_unixtime时转换的时间比纽约时间晚一天。
解决方案有两了:
1,修改MYSQL的时区。
2,在SQL语句中使用了时间戳。
由于线上环境运行着其它程序,为了不影响其它程序的正常运行,我们采用了第2个方案,其SQL语句修改为:
floor(logtime/3600) hourly, sum(amount) …… group by hourly

问题解决。

你可能感兴趣的:(编程时区问题!)