【问题标题】:Store UTC date time in database将 UTC 日期时间存储在数据库中
【发布时间】:2011-04-17 20:11:31
【问题描述】:

我会将用户输入的所有日期和时间(本地时间)转换为 UTC 并将其存储在数据库中。当显示回来时,我会将 UTC 时间转换为他们在他们的个人资料中设置的时区。好吃吗?

【问题讨论】:

  • @Mark Ransom:为什么不将此作为正确答案发布,以便可以关闭问题?
  • @Ates,一个正确的答案需要一些我没有准备好提供的理由和警告。我只是无法抗拒给予的开口。
  • @Mark Ransom:开场不错,先生 :)

标签: php mysql datetime utc


【解决方案1】:

我认为这已经足够了。除了将用户时区存储在配置文件中,您还可以让客户端(例如javascript)根据用户计算机时区转换UTC时间。

【讨论】:

    【解决方案2】:

    只要您可以从存储的数据库记录转换到任何时区,这就是您所需要的。

    您所描述的将起作用。

    【讨论】:

      【解决方案3】:

      注意一些MySQL documentation 关于时区和服务器/客户端工作方式:

      每个连接的时区。
      每个连接的客户端都有自己的时区设置,由会话 time_zone 变量给出。最初,会话变量从全局 time_zone 变量中获取其值,但客户端可以使用以下语句更改自己的时区:
      mysql> SET time_zone = 时区;

      因此,通常,在您提出的解决方案中,一切正常,但不要让实际的服务器或客户端时区更改让您措手不及。

      【讨论】:

        猜你喜欢
        • 2011-02-04
        • 2014-07-03
        • 2018-09-28
        • 2012-01-27
        • 2016-08-07
        • 2010-11-23
        • 1970-01-01
        • 2011-12-24
        • 2021-09-27
        相关资源
        最近更新 更多