MySQL的NOW()是遵循系统的时区,还是像GMT或UTC这样的标准?
发布于 2009-09-18 16:54:53
它在当前时区。从5.1 docs
以'YYYY-MM-DD HH:MM:SS‘或YYYYMMDDHHMMSS.uuuuuu格式的值返回当前日期和时间,具体取决于函数是在字符串还是数字上下文中使用。该值以当前时区表示。
现在,“当前时区”可以表示不同的含义:
更多细节在5.1 time zone documentation中。
( 5.4文档中的这些位看起来是一样的。显然,要获得最佳信息,请参考您正在运行的版本的文档。)
发布于 2009-09-18 16:57:00
根据the docs,规则很复杂,但主要归结为“当前会话的时区”(默认为系统时区):
当前会话时区设置会影响区分区域的时间值的显示和存储。这包括NOW()或CURTIME()等函数显示的值,以及在时间戳列中存储和检索的值。时间戳列的值将从当前时区转换为UTC以进行存储,并从UTC转换为当前时区以进行检索。
当然,如果您特别需要UTC,您也可以使用UTC_TIMESTAMP()。
发布于 2009-09-18 17:00:43
据我所知,它返回了系统时钟。检查系统的时区。如果你在本地连接MySQL (就像从PHP连接),时区对MySQL来说并不重要,我更喜欢在PHP中处理它们。
https://stackoverflow.com/questions/1445702
复制相似问题