我有一个日期时间字符串,表示纽约当地时间。
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
并假设我正在解析的日期是东部夏令时。
答案 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时间无关)。