目前,只要用户创建新帐户,我就会有一个Creation_date列,其数据类型为timestamp
。目前这个时间戳比美国东部时间早3个小时(如果它在波士顿的下午5点读到晚上8点)。有没有办法将时区更改为EST?它目前设定的时区是多少?
答案 0 :(得分:7)
这与MySQL的时区有关。
您可以使用以下连接(例如,通过PHPMyAdmin)设置它:
SET time_zone = timezone;
但是,如果MySQL重新启动,这将重置。所以最好在服务器级别设置。我认为,你不能这样做。
我建议您阅读MySQL Docs中的更多内容。
答案 1 :(得分:4)
SET SESSION time_zone = '+8:00'
答案 2 :(得分:2)
TIMESTAMP
值在插入数据库时转换为UTC,并在检索时转换回MySQL中设置的当前时区。其他答案显示如何在MySQL中设置时区,该时区将决定数据库中的值。
另一种选择是使用DATETIME
列,以UTC格式存储所有日期,并将它们转换为应用程序中所需的时区(PHP或从中获取值的任何位置)。
答案 3 :(得分:0)
SET GLOBAL time_zone =时区;