关于php:从日光开始前保存的偏移量中获取当前时区偏移量

Get current Timezone offset from offset saved before daylight started

我已将UTC日期与客户时区偏移量一起保存为澳大利亚/阿德莱德的-570,该日期在开始节能前被偏移。现在我需要在日光节约开始使用PHP代码后使用-570查找当前偏移量?有什么方法可以做到这一点吗?


如果您存储了-570(表示UTC+09:30),但没有存储"Australia/Adelaide",那么就没有办法确定这一点。使用哪种编程语言并不重要。

原因很简单,当南澳大利亚(以Australia/Adelaide表示)在UTC+09:30和UTC+10:30之间切换夏时制时,北领地(以Australia/Darwin表示)全年使用UTC+09:30。

如果您在夏季期间碰巧有一个与UTC+09:30相关的时间戳,那么您可以合理地断言它与Australia/Darwin相关,但这只是因为它恰好是在这段时间内观察到该偏移的唯一一个时间戳。冬天的时间戳和全世界的一般情况都不能这样说。

换句话说,-570可能指Australia/AdelaideAustralia/Darwin

或者它甚至可以指新南威尔士州的Yankwinna县(以Australia/Broken_Hill为代表),该县跟随阿德莱德而不是新南威尔士州的其他地区。

另请参见"时区!=offset"在时区标签wiki中,在澳大利亚在wikipedia中。