【发布时间】:2016-09-18 06:37:36
【问题描述】:
我将日期以 UTC 格式保存在 mongodb 中,例如“2016-01-28T00:00:00.000Z”。在客户端中,我使用 moment.js 来格式化日期。但是,当我创建这个特定日期的某个时刻时,夏令时开始发挥作用:
>moment("2016-01-28T00:00:00.000Z").format()
“2016-01-27T19:00:00-05:00”
如果我使用时刻的时区来调整这个时间,它将不起作用,因为此时偏移量是-4,而不是-5。这次调整的正确方法是什么,这样我得到的不是 1/27/16,而是 1/28/16,这就是我想要的。目前,我想在几分钟内获得.utcOffset 的一个解决方案,并将其添加到我的时间:
moment("2016-01-28T00:00:00.000Z").add(
-moment("2016-01-28T00:00:00.000Z").utcOffset(),'minutes').format()
“2016-01-28T00:00:00-05:00”
但是,我不确定这是否是最好的方法。
【问题讨论】:
-
您的输入中有一个偏移量(
Z,用于 UTC,相当于+00:00)。请参阅 dup 帖子中的答案以了解如何使用parseZone函数来保留它,或utc函数以独占使用 UTC。
标签: timezone momentjs utc dst timezone-offset