我正在创建一个脚本,允许用户选择自己的时区......
如果我要完成这项工作,如何在数据库中存储日期,以便每个时区都能读取它,并在其时区中显示正确的日期?
我是否将日期存储为GMT,然后当选择了时区GMT +10的用户查看我的脚本中的项目时,我会以GMT +10时间显示该日期?
有更好的方法吗?
例子很棒:)
答案 0 :(得分:4)
将UTC中的时区存储在数据库中绝对是可行的方法。
答案 1 :(得分:1)
UTC是你如何做到的
从浏览器中获取当前日期(使用Javascript并将浏览器日期发布到服务器)以确定他们所在的时区并将其设置为默认值
答案 2 :(得分:1)
在MYSQL中,Timestamp字段始终以UTC格式保存在内部,但查询将根据数据库服务器的时区返回格式化字符串,因此您的数据库服务器可能应设置为UTC以简化操作。将这些东西直接传递给DateTime对象,然后您可以使用它的setTimezone()
函数使其在您想要的时区内运行。
您还可以使用date_default_timezone_set()在php中设置时区,该时区将用于脚本的其余部分。