瞬间误会utcOffset

时间:2018-11-27 13:29:54

标签: momentjs moment-timezone

我正在使用时区和时区,但我不明白。谁能解释我为什么会这样?

这就是我想要的:

moment('2018-11-28T00:00:00.000-02:00').toISOString()

打印2018-11-28T02:00:00.000Z

但是:

moment('2018-11-28T00:00:00.000').zone('-02:00').toISOString()
moment('2018-11-28T00:00:00.000').utcOffset('-02:00').toISOString()

同时打印2018-11-27T23:00:00.000Z

PD:我的区域是GMT + 1。

为什么不同?它不应该等于? 我该如何设置偏移量(不是在构造函数中,而是在有矩对象之后使用方法)?

谢谢! BR

1 个答案:

答案 0 :(得分:1)

如我所见,使用utcOffset方法时,您希望保留一天中的现有时间。它接受第二个参数,它是一个布尔值。如文档所述:

  

通过true可以保留相同的本地时间,但要以在世界标准时间中选择其他时间为代价。

// "2018-11-28T02:00:00.000Z"
moment('2018-11-28T00:00:00.000').utcOffset('-02:00', true).toISOString();

有关更多信息,请检查documentation