php DateTimeZone->getOffset() 返回 GMT 时区的无效偏移量
希望有人注意到我遇到的问题的原因是什么。
对于所有其他时区,例如“欧洲/赫尔辛基”,下面的偏移计算返回正确的值,但由于某种原因,我得到“Etc/GMT+2”样式时区的负值,反之亦然(例如,对于 Etc/GMT-2 我得到正值,7200)。
$dateTimeZone = new DateTimeZone('Etc/GMT+2');
echo $dateTimeZone->getOffset(new DateTime("now", new DateTimezone( 'UTC' )));
预计:7200 结果:-7200
Hopefully someone notices what is the cause for the problem I'm having.
For all other timezones such as "Europe/Helsinki" the offset calculation below returns correct values, but for some reason I get negative value for 'Etc/GMT+2' style timezones and vice versa (e.g. for Etc/GMT-2 I get positive value, 7200).
$dateTimeZone = new DateTimeZone('Etc/GMT+2');
echo $dateTimeZone->getOffset(new DateTime("now", new DateTimezone( 'UTC' )));
Expected: 7200
Result: -7200
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Etc/GMT+2
时区否则称为“GMT -2”或表示为-02:00
。这是由于 POSIX 表示这些类型的时区偏移的方式所致:
并且:
The
Etc/GMT+2
timezone is what would otherwise be called "GMT -2" or represented like<date time>-02:00
.This is due to the way that POSIX represents those types of timezone offsets:
And:
来自 http://www.php.net/manual/en/timezones。其他.php#64310
From http://www.php.net/manual/en/timezones.others.php#64310