是否有一个可以处理时区转换的javascript库(并考虑了DST规则等)?我知道也有类似的问题,但是我所见的问题似乎都没有一个真正适合我的问题的答案。

我想在时区A中创建一个日期,并能够对其进行操作(添加日期,小时和类似的内容),然后将其转换为另一个时区B。必须有很多人需要这种功能,所以我猜应该有一些我找不到的库。

最佳答案

我想你想要这个:

https://github.com/mde/timezone-js

解析器的确需要进行一些调整才能在没有其他人放在一起的其他库的情况下运行(至少我五个月前才用过它。五个月前?),但否则,这似乎是一个可靠的库。我已经在两个对时区非常敏感的高流量商业站点上使用了它,并取得了巨大的成功。

尽管有时它在jquery的日期选择器和momentjs(可能还有其他库)中不能很好地发挥作用,所以请准备好调整那些库以使用timezoneJS的日期,或者准备一个to / from转换功能,以便可以打开timezonejs。日期输入为“正常”日期,反之亦然。

否则,作为示例,这将采用亚洲/新加坡时区日期,并将其转换为美国/洛杉矶时区日期,同时尊重该年的夏令时。它使用可免费获得的Olson时区文件,并将其解析为实际上非常准确的文件。

希望这能使您走上正确的道路。

- 编辑 -

忘记了-使用它的一些技巧。如果您的时区集有限,我强烈建议您通过告诉解析器仅使用那些时区来剔除这些时区-则不必加载所有时区的大文件。另外,我被踢了一次,因为setHours,setMinutes等不遵循setHours(0,0,0,0)(即小时,分钟,秒,毫秒)的JS“规范”。这里有一个增强的请求:https://github.com/mde/timezone-js/issues/48我认为代码修改完全不会支持它,所以我希望我们能早日合并它..或者我也可以自己做;)

10-02 06:09
查看更多