2017-06-05 61 views
1

为什么10月10日JS Date对象更改为utCString?js 10月10日(BST)的日期更改

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日结束。到底是怎么回事?!

+1

由于您没有使用正确的日期格式,因此使用Date构造函数进行解析依赖于实现。 –

回答

3

在第一个例子中,日期被解析为本地日期,而第二个日期被解析为UTC日期。要将第一个日期解析为UTC,请在9之前添加0

console.log(new Date('2017-10-09').toUTCString()); // Mon, 09 Oct 2017 00:00:00 GMT

不一致的日期解析那样的人,为什么你应该总是通过在ISO-8601格式的日期到Date构造。您也可以使用像Moment.js这样的库。

+0

我想我可能会哭泣 – dafyddPrys

+0

@dafyddPrys https://cdn.meme.am/cache/instances/folder662/65251662.jpg –

+0

“*日期解析*中的不一致”是为什么你不应该使用内置解析器所有! ;-) – RobG

相关问题