仅知道当前偏移量,计算未来日期的时区偏移量

问题描述

因此,美国东部时区的 2021 年 3 月 3 日与 UTC 相差 5 小时,偏移量为 300 分钟。

对于未来的日期,即 2021 年 4 月 1 日,时钟将发生变化,偏移量将有所不同。

但是如果代码只知道偏移量而不知道原始偏移量来自哪个时区,我是否正确地确定未来日期时区偏移量是不可能的。

解决方法

是的,你说得对。还有许多其他时区也使用 UTC-5 偏移量。其中一些根本不切换为夏令时。其中一些在稍后或更早的日期切换到 DST。其中一些,UTC-5 DST 偏移量,因此它们返回到 UTC-6 而不是 UTC-4。

要了解偏移量将如何随时间变化,您需要确定时区,而不仅仅是偏移量。最好使用 IANA 时区标识符,例如 "America/New_York"

请参阅 the timezone tag wiki,特别是标题为“时区 != 偏移量”的部分。

此外,请注意,即使确定了时区,未来的偏移量也始终只是一个估计值。如果政府对时区数据上次更新日期和此类更改生效日期之间的时区或 DST 规则改变了主意,则根据新规则,您确定的偏移量可能不正确。除了不要推测未来太远,并敦促政府不要做出临时更改外,你无能为力。