【发布时间】:2019-08-29 08:21:50
【问题描述】:
有一个显示时区偏移量的时区信息字段(例如 'UTC+1' )。为此使用了“getOffset”,但现在在 dst 时间,它返回同一时区的“UTC+2”。
我的问题是如何检测 dst 是否启用或如何获得 dst 空闲偏移量?
检查了 DateTimeZone 和 DateTime 文档,但没有找到任何东西。
【问题讨论】:
-
听起来有点像XY problem。是的,时区全年都会更改其 UTC 偏移量。这就是为什么如果您想稍后引用相同的 timezone 仅存储 UTC 偏移量是没有用的。您应该像
Europe/Amsterdam一样存储时区,然后您可以根据需要计算出它的UTC 偏移量。仅仅拥有“UTC+2”甚至不能告诉您该国是否遵守 DST 以及在任何给定时间“无 DST”的方向。 -
阅读localtime,特别是 $is_associative 参数。而且,@deceze 说了什么。
标签: php datetime dst timezone-offset