JY解析纽约时区的日期时间字符串

时间:2015-07-11 06:28:39

标签: javascript parsing datetime timezone momentjs

我有一个日期时间字符串,表示纽约当地时间。

12/30/2020 12:00 pm

我想在javascript中解析它以获得EPOCH。 解析必须适用于可能位于不同时区的用户。

我现在所做的是

moment("07/13/2015 01:45 am -04:00", 'M/D/YYYY h:mm a Z').unix()

但这不好,因为我不得不硬编码

-04:00

并假设我正在解析的日期是东部夏令时。

1 个答案:

答案 0 :(得分:1)

使用moment-timezone插件。

moment.tz("12/30/2020 12:00 pm", "M/D/YYYY h:mm a", "America/New_York").unix()

另外,请注意,不保证任何特定时区的规则将来会持续存在。谁知道到2020年美国政府是否会像2007年那样再次改变DST规则。当然,它不太可能影响12月的日期,但在一般情况下你可以&# 39;不确定。特别是当您考虑到其他时区经常发生变化时 - 每年全球变化大约十几个。

哦,还有一个小小的小狗......你说:

  

......获得EPOCH。

单词 epoch 意味着"某事的开始"。 Unix Epoch是1970-01-01T00:00:00Z。它绝不是别的。您从unix时间戳中获得的值在时代上基于 - 但它本身并不是一个时代。 "大纪元时间"用词不当。 (计算中还有其他时期,但与Unix时间无关)。