我有一个网站,其中包含不同国家/地区(不同时区)的商店列表,并且应该按工作时间显示商店是开放还是关闭。
我有javascript在未设置夏令时时获取DEFAULT时区GMT偏移量,将其置于mysql中,并且该部分正常工作。
我的时区是GMT + 1(现在它的夏令时活跃,所以现在是+1小时)
我使用php来改变区域:
date_default_timezone_set('Etc/GMT+1');
echo date('h');
时间到了晚上10点
GMT时间:晚上8点
此代码返回:晚上7点
所以它就像它增加1,它减少了,加上没有夏令时......
有人能告诉我这里发生了什么吗? 它是php bug还是服务器上的错误?
谢谢...
答案 0 :(得分:2)
我正在笑,因为我最近有一个similar problem。不幸的是Etc / GMT时区已被弃用。他们打破。我的个人推荐?只需使用HH:MM或按城市设置(城市不需要夏令时调整!)
答案 1 :(得分:0)
也许日期('I')在这种情况下可能会有所帮助 除非有选项来定义查找列表[GMT偏移] - [时区名称]。然后可以使用DateTime \ DateTimeZone类调整时区。