我对时间戳数据类型有一些疑问。 我是否正确地说明了如果我使用时间戳它将以UTC格式存储日期时间? 当我检索数据时,它将在当地时间显示?
如果是这样,我是否有任何配置来启用此“功能”?
答案 0 :(得分:0)
时间戳在转出时转换为日期和时间的字符串表示。它将使用MySQL服务器的时区设置来显示结果集中的内容。
自EPOCH('1970-01-01 00:00:00'UTC)以来,时间戳内部存储为秒数;
这就是为什么许多人喜欢将他们的数据库设置为UTC - 这样他们总是得到一个UTC日期时间,并且可以在代码端转换为当地时间。
MySQL数据库的时区将使用内部配置设置,这可能会回退到服务器的系统设置。
请参阅有关如何配置MySQL时区设置的信息:http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html
答案 1 :(得分:0)
默认情况下,TIMESTAMP以UTC格式存储其数据,然后将其转换回数据库所在的SERVER的时区。这里对类似问题有几个很好的回答:Should I use field 'datetime' or 'timestamp'?
答案 2 :(得分:0)