不同用户的时区

时间:2010-03-24 23:39:50

标签: php timezone

我正在创建一个脚本,允许用户选择自己的时区......

如果我要完成这项工作,如何在数据库中存储日期,以便每个时区都能读取它,并在其时区中显示正确的日期?

我是否将日期存储为GMT,然后当选择了时区GMT +10的用户查看我的脚本中的项目时,我会以GMT +10时间显示该日期?

有更好的方法吗?

例子很棒:)

3 个答案:

答案 0 :(得分:4)

UTC中的时区存储在数据库中绝对是可行的方法。

答案 1 :(得分:1)

UTC是你如何做到的

从浏览器中获取当前日期(使用Javascript并将浏览器日期发布到服务器)以确定他们所在的时区并将其设置为默认值

答案 2 :(得分:1)

在MYSQL中,Timestamp字段始终以UTC格式保存在内部,但查询将根据数据库服务器的时区返回格式化字符串,因此您的数据库服务器可能应设置为UTC以简化操作。将这些东西直接传递给DateTime对象,然后您可以使用它的setTimezone()函数使其在您想要的时区内运行。

您还可以使用date_default_timezone_set()在php中设置时区,该时区将用于脚本的其余部分。