如何指定时区,以便该时刻为该时区提供正确的日期?

时间:2015-12-23 02:53:24

标签: javascript date momentjs

目前,我从第三方api返回的唯一日期字符串是2015-12-22T19:00:00.000

它被假定为'America / New_York'时区(EST)。

但是当我把它传递到我的计算机(PST)时使用我当地的时区时。

我需要在比较两个日期的时刻日期对象上做数学,这会弄乱我的计算。

我试过这样做,但仍然给我PST:

moment('2015-12-22T19:00:00.000').tz('America/New_York')

应该是晚上7点。

1 个答案:

答案 0 :(得分:1)

我用time-timezone插件想出来了... @zerkms评论也是正确的。

const start_datetime_est = moment.tz('2015-12-22T19:00:00.000', 'America/New_York');
const end_datetime_est = moment(start_datetime_est).tz('America/New_York').add(3, 'hours');

你必须将ISO8601日期字符串作为moment.tz(str, zone)传递 - 我正在做moment(str).tz(zone)这只是给我当前的时间。