当前时间戳=明天
问题描述:
我最近将服务器时区更改为America/New_York
。当前时间戳=明天
问题是,当我运行我的php/mysql脚本将数据添加到数据库中时,默认值为:CURRENT_TIMESTAMP
,它将日期添加为明天而不是今天。
然后,当明天在我的服务器上午夜翻转时,日期会回到昨天吗?
答
MySQL使用自己的时区设置,PHP使用自己的时区设置。
确保在配置您的PHP时区设置时,也为MySQL设置相同的时区设置。
哦,顺便说一下,MySQL中的Timestamp数据类型不会存储时区信息。如果您在写入该字段时向MySQL提供时区,则MySQL会根据其时区设置将其转换为UTC。
答
SELECT @@global.time_zone, @@session.time_zone;
- 在MySQL控制台
执行此如果它会产生不正确的结果 - 在配置文件中明确更改MySQL服务器时区:
http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html