MySQL的NOW()是否遵循系统的时区或某些标准,如GMT或UTC?
答案 0 :(得分:23)
每the docs,规则很复杂,但大多归结为“当前会话的时区”(默认为系统时区):
当前会话时区设置 影响时间的显示和存储 区域敏感的值。这个 包括显示的值 NOW()或CURTIME()等函数, 和存储和检索的值 来自TIMESTAMP专栏。的价值观 TIMESTAMP列是从中转换而来的 UTC的当前时区 存储,从UTC到当前 检索时区。
当然,如果您需要UTC,可以使用UTC_TIMESTAMP()
。
答案 1 :(得分:12)
它在当前时区。来自5.1 docs:
以a为单位返回当前日期和时间 'YYYY-MM-DD HH:MM:SS'或 YYYYMMDDHHMMSS.uuuuuu格式, 取决于功能是否 用于字符串或数字上下文中。 该值以当前值表示 时区。
现在“当前时区”可能意味着不同的事情:
更多详情请见5.1 time zone documentation。
(对于这些位,5.4文档看起来是一样的。显然请查阅您正在运行的版本的文档以获取最佳信息。)
答案 2 :(得分:0)
据我所知,它返回了系统时钟。检查系统的时区。我在本地连接MySQL(比如PHP)时区对MySQL来说无关紧要,我更喜欢在PHP中处理它们。