使用Momentjs显示ISO 8601字符串的本地时间

时间:2016-11-10 07:36:16

标签: datetime momentjs iso iso8601 localtime

我想使用momentjs从ISO 8601字符串显示本地时间。 使用不同的日期格式转换ISO字符串时,会有几分钟的差异。如果我使用'MM / DD / YYYY HH:mm',则会正确显示分钟。如果我使用'ddd,MMM Do HH:MMa',则会增加11分钟(在我的情况下)。

我的样本js(babel)代码:

let today = moment('11/09/2016 00:00', 'MM/DD/YYYY HH:mm').toISOString();
//today = 2016-11-09T08:00:00.000Z

let formatted = moment(today, moment.ISO_8601).format('MM/DD/YYYY HH:mm');
//formatted = 11/09/2016 00:00

let formatted2 = moment(today, moment.ISO_8601).format('ddd, MMM Do HH:MMa');
//formatted2 = Wed, Nov 9th 00:11am

我更喜欢使用第二种格式。有人可以解释为什么会出现差异吗?

请看这个小提琴:https://jsfiddle.net/anudhagat/8fgtjbc7/3/

1 个答案:

答案 0 :(得分:1)

我抓住了我的愚蠢错误。我用第二种格式大写了分钟,使用MM让它显示数月而不是分钟。