为什么JS Date对象会在10月10日更改为UTCString?
new Date('2017-10-9').toUTCString()
"Sun, 08 Oct 2017 23:00:00 GMT"
new Date('2017-10-10').toUTCString()
"Tue, 10 Oct 2017 00:00:00 GMT"
我在英国写这些。 BST于10月29日结束。发生了什么事?!
答案 0 :(得分:3)
在第一个示例中,日期被解析为本地日期,第二个作为UTC日期。要将第一个日期解析为UTC,请在0
之前添加9
。
console.log(new Date('2017-10-09').toUTCString()); // Mon, 09 Oct 2017 00:00:00 GMT

日期解析中的不一致就是为什么你应该总是将ISO-8601格式的日期传递给Date
构造函数。您还可以使用Moment.js等库。