【问题标题】:Timezone conflict between PHP and Mysql serverPHP和Mysql服务器之间的时区冲突
【发布时间】:2023-03-11 23:13:01
【问题描述】:

我对创建日期有疑问。时区的 php 服务器设置: 通过使用 date_default_timezone_get() php 函数,指的是 UTC,而 MSQL 查询时区即 @@system_time_zone 指的是 MST。它是一个共享服务器,所以我将无法在服务器上的 my.conf 文件中进行更改。

我希望日期为 UTC 格式,如何在 mysql 服务器上进行更改,以便 Now() 函数和 CURRENT_TIMESTAMP 返回日期值 wrt UTC。

【问题讨论】:

标签: php mysql date datetime


【解决方案1】:

如果我理解正确,您可以尝试从客户端代码为每个会话设置一个时区

SET time_zone = timezone;

取决于您是否导入了时区信息,它可能看起来像

SET time_zone = 'Etc/UTC';

SET time_zone = '+00:00';

进一步阅读:

【讨论】:

  • 那么这会影响当前的数据库连接吗?如果服务器上有多个数据库,我不希望这影响任何其他数据库。
  • 如前所述,它只会影响您连接到数据库的会话。它不会影响任何其他会话。
【解决方案2】:

尝试使用 UTC_TIMESTAMP() 而不是 NOW() 从 mysql 查询中获取日期,UTC_TIMESTAMP() 将为您提供 UTC 日期。

【讨论】:

    猜你喜欢
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多