21

我正在尝试使用 moment 以这种格式转换 2013 年 10 月 29 日的日期时间

2013-10-29T00:00:00.000Z

但是,当我这样做时

moment('2013-10-29T00:00:00.000Z').format("MMM Do, YYYY")

它应该在2013年 10 月 29 日返回时返回2013 年 10 月 28日

如果您对如何解决此问题有一些想法,请告诉我。谢谢

4

2 回答 2

19

如果您想要 UTC 时间,请使用:

moment.utc('2013-10-29T00:00:00.000')

正如@MattJohnson 指出的那样,使用moment构造函数会将其转换为当地时间。相反(如果您不想使用该utc方法),您可以将 替换Z+0. 请参阅字符串日期/时间的选项http://momentjs.com/docs/#/parsing/string-format/

于 2013-10-29T02:52:11.660 回答
5

您可以通过执行以下操作调整时区设置:

moment('2013-10-29T00:00:00.000Z').zone(0).format("MMM Do, YYYY");

小提琴

继续添加 Matt 的建议,因为它更具语义性。

moment('2013-10-29T00:00:00.000Z').utc().format("MMM Do, YYYY");
于 2013-10-29T02:52:48.727 回答