日期时间timezone mysql和php计算

时间:2012-07-19 17:27:00

标签: php mysql timezone

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

mysql datetime对象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,但在现实世界中是负的。

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

1 个答案:

答案 0 :(得分:1)

我认为您必须将时间存储到您的时区,当您想要显示它时,请使用函数:date(),并将时间戳更正为用户的时区! mktime将帮助您使用时间戳,因为您可以将负整数传递回时间;)