我有一个关于在使用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,但在现实世界中是负的。
解决这个问题的最佳解决方案是什么?
我认为你必须将时间储存到你的时区,当你想显示它时,使用函数:date(),并向它传递一个更正为用户时区的时间戳!mktime将帮助您处理时间戳,因为您可以将负整数传递给它以返回时间;)