【问题标题】:Timezone settings in MySQL - Using NOW()?MySQL 中的时区设置 - 使用 NOW()?
【发布时间】:2011-09-21 15:56:27
【问题描述】:

Doing calculations in MySQL vs PHP有点相关

现在,我们的数据库假定系统时间是 UTC 并使用它来计算 NOW()。 PHP 将时区显式设置为 UTC(因此它不受服务器时区变化的影响)。

服务器上的时区意外移动在数据库级别搞砸了这种关系,我现在正试图找出理想的配置:

  1. 把Mysql配置成UTC,还要从这个角度:

  2. 我们的应用程序可能在其他人的服务器上,他们可能有不同的 TZ(所以我不能在 mysql/server 级别设置时区)。如何在特定的数据库级别进行配置?

【问题讨论】:

    标签: php mysql timezone


    【解决方案1】:

    您应该查看UTC_TIMESTAMP();这可确保时间戳字段在数据库中始终为 UTC。让您的 PHP 脚本从用户浏览器信息中进行偏移。这也可以使用 DATE_ADD/DATE_SUB 或更好的 CONVERT_TZ() 来完成。

    【讨论】:

      【解决方案2】:

      在将其存储到数据库之前让 PHP 对其进行设置。将其设置为 GMT,然后根据需要根据用户时区计算显示时间。

      【讨论】:

        猜你喜欢
        • 2017-12-09
        • 2012-05-30
        • 2020-02-23
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        • 2012-08-04
        • 2012-09-21
        相关资源
        最近更新 更多