【发布时间】:2009-09-18 16:51:48
【问题描述】:
MySQL 的 NOW() 是否遵循系统的时区或 GMT 或 UTC 等标准?
【问题讨论】:
MySQL 的 NOW() 是否遵循系统的时区或 GMT 或 UTC 等标准?
【问题讨论】:
根据the docs,规则很复杂,但主要归结为“当前会话的时区”(默认为系统时区):
当前会话时区设置 影响时间的显示和存储 区域敏感的值。这 包括显示的值 NOW() 或 CURTIME() 等函数, 以及存储和检索的值 来自 TIMESTAMP 列。价值观 TIMESTAMP 列从 UTC 的当前时区 存储,并从 UTC 到当前 检索时区。
如果您特别需要 UTC,当然可以使用UTC_TIMESTAMP()。
【讨论】:
它在当前时区。来自5.1 docs:
返回当前日期和时间 'YYYY-MM-DD HH:MM:SS' 中的值或 YYYYMMDDHHMMSS.uuuuuu 格式, 取决于功能是否 在字符串或数字上下文中使用。 该值以电流表示 时区。
现在“当前时区”可能有不同的含义:
更多详情请见5.1 time zone documentation。
(这些位的 5.4 文档看起来相同。显然,请参阅文档以了解您正在运行的版本以获得最佳信息。)
【讨论】:
据我所知,系统时钟已返回。检查系统的时区。我在本地连接 MySQL(比如从 PHP)时区对 MySQL 来说并不重要,我更喜欢在 PHP 中处理它们。
【讨论】: