javascript new Date()或moment.js解析日期错误

时间:2015-08-16 08:17:47

标签: javascript datetime momentjs

我有一个来自服务器的DateTime值,格式如下:

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

相同的时刻。这是错误的时刻。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

这是同一时间 - 服务器以UTC(因此最后为Z)将其提供给您,然后Javascript在浏览器的本地时区FLE日光时间中帮助显示它。鉴于两次都清楚地说明了它们是哪个时区,严格来说没有任何问题。

做什么取决于你想要什么。通过做

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

你将moment.js置于UTC模式,以UTC显示所有内容(如果我理解正确的文档)。