Momentjs无法在时区之间获得时间差异



我在nodejs上有一个日期字符串

2019-02-25T09:00:00Z

我创建一个矩对象,然后将时区设置为纽约

let a = moment.tz("2019-02-25T09:00:00Z", "America/New_York");
然后,我同时创建另一个时刻对象,但设置了一个不同的位置,亚利桑那州
let b = moment.tz("2019-02-25T09:00:00Z", "America/Phoenix");
console.log(a.diff(b));

打印出0毫秒。我希望期望获得7200000(2小时的时间差)。为什么我没有得到这种差异?

" 2019-02-25T09:00:00z"的意思是" 2019年2月25日上午9点, utc "。" z"部分表示该值在UTC中。

您创建了两个代表相同瞬间的值,但在两个不同的时区域 - 因此它们具有不同的 local 值,但它们都表示相同的瞬间,因此差异它们之间是0。

如果要创建一个代表" 2019年2月25日上午9点"的值,在给定时区域>"中只需删除Z。(我不知道如果值该值是什么时间您指定的是由于时区的偏移变化而被歧义或跳过,但是如果您要使用任意数据进行此操作,则应调查。)

相关内容

  • 没有找到相关文章

最新更新