如何使用moment.js将带有PST或EDT的字符串转换为日期对象

时间:2020-07-15 15:55:27

标签: javascript momentjs moment-timezone

我正在使用moment js使用以下格式代码将日期对象转换为字符串

moment(date).tz('America/New_York').format('M-D-YYYY-HH:mm-z')

给我这样的字符串:

7-15-2020-12:00-EDT

有意义的是,要反转操作并尝试从字符串中获取时间对象,请尝试使用如下所示的内容:

moment("7-15-2020-12:00-EDT", "M-D-YYYY-HH:mm-z")

我还尝试了以下方法:

moment.tz("7-15-2020-12:00", "M-D-YYYY-HH:mm", 'EST').

但是问题在于,如果使用America / New_York创建的对象相同,则它的值不等于1小时。

> moment.tz("7-15-2020-12:00", "M-D-YYYY-HH:mm", 'EST').fromNow();
'in an hour'

> moment.tz("7-15-2020-12:00", "M-D-YYYY-HH:mm", 'America/New_York').fromNow();
'in 7 minutes'
>

尽管EDT是在格式化时间对象时瞬间生成的,但该库指示EDT没有时区

> moment.tz("7-15-2020-12:00", "M-D-YYYY-HH:mm", 'EDT').fromNow();
Moment Timezone has no data for EDT. See 
http://momentjs.com/timezone/docs/#/data-loading/.
'4 hours ago'
>

0 个答案:

没有答案