【问题标题】:date time timezone mysql and php calculation日期时间时区mysql和php计算
【发布时间】:2012-07-18 22:50:44
【问题描述】:

我有一个关于在使用 php 和 mysql 的应用程序中处理带有时区的有效日期和时间的问题。

mysql datetime object dosnt 保存时区信息。所以我不能在数据库中保存很多时区。但是在 php 应用程序中,每个用户都可以使用 php 脚本 date_default_timezone_set() 拥有自己的时区 ...所以什么时候会出现问题。

user     timezone            lastchange
user1    UTC                 2012-01-01 12:20:00
user2    Australia/Melbourne 2012-01-01 12:19:00

但在计算中 user2 lastchange 低于 user1 lastchange 但在现实世界中是负数。

解决此问题的最佳解决方案是什么?

【问题讨论】:

  • 在 mysql 中以 UTC 格式存储所有内容,然后在向每个用户显示数据时使用 timezone 字段转换为每个用户自己的时区。

标签: php mysql timezone


【解决方案1】:

我认为你必须将时间存储到你的时区,当你想显示它时,使用函数:date(),并将一个时间戳传递给用户的时区! mktime 将帮助您处理时间戳,因为您可以将负整数传递给它;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2015-11-07
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多