Calculate if DST active for a given timestamp and offset
给定相对于UTC的unix时间戳和时区偏移量(例如-5),是否可以计算DST是否有效?
我可以这样做:
1 2 3 |
但是我看不到如何传递偏移量或TimeZone。
我也猜测时区和偏移之间存在差异,因为特定国家支持DST?
欣赏任何想法。
正确,您需要从date和tz开始确定偏移量。
在5.3+中,您可以获得开始/结束时段的转换,因此您可以只使用两者的时间戳,如下所示:
1 2 3 4 5 | $inputTime = $your_unix_timestamp; $inputTZ = new DateTimeZone('Europe/London'); $transitions = $inputTZ->getTransitions($inputTime,$inputTime); $offset = $transitions[0]['offset']; |
获取时区:
1 |
将其更改为您想要的那个:
1 |
还原:
1 |
PHP时间戳始终为UTC。 根据您的时区设置,它确定显示的时间。