2017-06-05 27 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

相關問題