我在谷歌上什么也没找到,所以我想我应该在这里问一下,我有一些代码可以让用户手动启用或禁用夏令时。这个问题默认情况下不运行夏令时,因为我的代码将自动添加一个额外的小时,如果夏令时是通过用户打开的,如果它被禁用了,就会减少一个小时。
谢谢!
发布于 2014-08-25 23:49:00
你不需要重新发明轮子。只需使用PHP内置的日期函数即可!
对于每个用户,将其首选时区作为字符串(或唯一映射到一组字符串的id )存储在数据库中。例如,“欧洲/伦敦”或“美国/蒙特利尔”。完整列表请参见http://php.net/manual/en/timezones.php。
当您加载用户的配置文件时,还要加载他/她的时区,并在每次格式化日期时相应地使用它(在使用DateTime的方法时使用DateTimeZone类,或者使用date_default_timezone_set()为脚本全局设置它)。
通过这种方式,可以自动为特定区域启用/禁用DST (请记住,世界各地的DST在不同的日期开始和结束,许多地区都没有实现它)。如果用户不想自动更改夏令时,可以选择“通用”时区,如" etc /GMT“、"Etc/GMT+2”等(请参阅http://php.net/manual/en/timezones.others.php )
https://stackoverflow.com/questions/25478998
复制相似问题