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

javascript new Date() or moment.js parse date wrong

我有一个来自服务器的 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

同样 moment.js 时间不对。

我该如何解决这个问题?

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

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

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

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