2038年后的momentjs夏令时

杰巴

我在 AngularJS 应用程序中使用时刻时区。尽管阅读了“时区”标签维基,但我仍面临一个我不明白的问题。

我希望有一个每年都会重演的事件:同一天,同一时间。我为这些事件中的每一个都有一个具有开始日期和结束日期的对象。我的时区是

moment.tz.guess() : 'Europe/Paris'

2038年之前我对日期没有问题

moment.unix(date.start).format(); : 2018-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2018-06-19T14:16:07+02:00
moment.unix(date.start).isDST(); : true

moment.unix(date.start).format(); : 2019-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2019-06-19T14:16:07+02:00
moment.unix(date.start).isDST(); : true

moment.unix(date.start).format(); : 2020-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2020-06-19T14:16:07+02:00
moment.unix(date.start).isDST(); : true

但是在 2037 年之后,如果我处理时区,则偏移量是“+01:00”而不是“+02:00”……不明白为什么:

moment.unix(date.start).format(); : 2035-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2035-06-19T14:16:07+02:00
moment.unix(date.start).isDST(); : true

moment.unix(date.start).format(); : 2036-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2036-06-19T14:16:07+02:00
moment.unix(date.start).isDST(); : true

moment.unix(date.start).format(); : 2037-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2037-06-19T14:16:07+02:00
moment.unix(date.start).isDST(); : true

moment.unix(date.start).format(); : 2038-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2038-06-19T13:16:07+01:00
moment.unix(date.start).isDST(); : true

moment.unix(date.start).format(); : 2039-06-19T14:16:07+02:00
moment.tz(moment.unix(date.start), 'Europe/Paris').format(); : 2039-06-19T13:16:07+01:00
moment.unix(date.start).isDST(); : true

你有什么建议吗?谢谢

马特·约翰逊-品脱

没有人能可靠地告诉您 2038 年的时区偏移或 DST 规则是什么。即使预测到明天也是基于盲目相信政府不会在此之前更改规则。

事实上,他们中的一些人在很短的时间内或在一夜之间改变了规则并在事后告诉人们。请参阅关于时区更改的时间

大多数情况下,世界会提前发现,tz 邮件列表会得到它的风声并发布 tzdb 更新,然后像 Moment-Timezone(和许多其他人)这样的库接收这些信息并将其处理成自己的格式。

Moment-timezone 的特定格式采用重复规则并将它们投影到每个转换的特定增量中。这在运行时具有速度优势,但缺点是不能一直持续下去。鉴于未来变化的不可预测性随着​​时间的推移呈指数增长,这是这个库(恕我直言)的设计者的合理妥协。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章