3

我有一个网站,其中列出了不同国家(不同时区)的商店,它应该在商店营业时间打开或关闭时显示。

我有 javascript 在未设置夏令时时获取默认时区 GMT 偏移量,将其放入 mysql 中,该部分可以正常工作。

我的时区是 GMT+1(现在是夏令时活动,所以现在是 +1 小时)

我使用 php 来更改区域:

date_default_timezone_set('Etc/GMT+1');
echo date('h');

这里时间:晚上10点

格林威治标准时间:晚上 8 点

此代码返回:晚上 7 点

所以就像它增加1,它减少,而且没有夏令时......

有人能告诉我这里发生了什么吗?是服务器上的php错误还是有问题?

谢谢...

4

2 回答 2

2

我目前正在窃笑,因为我最近遇到了类似的问题。不幸的是,不推荐使用 Etc/GMT 时区。他们打破。我的个人建议?只需使用 HH:MM 或按城市设置(城市不需要夏令时调整!)

于 2011-06-23T20:22:48.103 回答
0

也许 date('I') 在这种情况下可能会有所帮助。
除非有定义查找列表的选项 [GMT 偏移量] - [时区名称]。然后可以使用 DateTime\DateTimeZone 类调整时区。

于 2011-06-23T21:19:31.863 回答