我有一些关于时间戳数据类型的问题。 我是否正确地说明了这一点:如果我使用时间戳,它会以UTC存储日期时间? 当我检索数据时,它会显示在当地时间?Mysql时间戳数据类型
如果是这样,是否有任何配置我必须做,以启用此“功能”?
我有一些关于时间戳数据类型的问题。 我是否正确地说明了这一点:如果我使用时间戳,它会以UTC存储日期时间? 当我检索数据时,它会显示在当地时间?Mysql时间戳数据类型
如果是这样,是否有任何配置我必须做,以启用此“功能”?
时间戳在出路上转换为日期和时间的字符串表示形式。它将使用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
默认情况下TIMESTAMP在UTC将其数据存储,然后将其转换回数据库所在的服务器的时区。对于类似的问题,这里有几个很好的答案:Should I use field 'datetime' or 'timestamp'?