JavaScript的新的日期()或moment.js解析日期错

问题描述:

我有来自服务器按以下格式的日期时间值:JavaScript的新的日期()或moment.js解析日期错

2015-08-16T01:29:00.000Z 

然而,当我做

new Date('2015-08-16T01:29:00.000Z') 

结果这样的:

Sun Aug 16 2015 04:29:00 GMT+0300 (FLE Daylight Time) 

请注意时间是错误的,而不是01:29 AM is 04:29 AM

与moment.js相同,它得到的是错误的时间。

我该如何解决这个问题?

这是同一时间 - 服务器将它作为UTC(因此最终为Z),然后Javascript会在浏览器的本地时区FLE Daylight Time中有用地显示它。鉴于这两个时间都明确指出了它们的时区,严格来说没有任何问题。

怎么办取决于你想要的东西。通过这样做

moment.utc('2015-08-16T01:29:00.000Z'); 

您将moment.js放在UTC模式下,以UTC显示所有内容(如果我理解了正确的文档)。

+0

美丽!谢谢! – user2818430