2017-06-05 14 views
1

JS Dateオブジェクトが10月10日に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

最初の例では、日付はローカル日付として解析され、2番目の例はUTC日付として解析されます。最初の日付をUTCとしても解析するには、の前に0を追加します。あなたは常にDateコンストラクタにISO-8601形式で日付を渡す必要があり、なぜそのような

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

日付の解析で

不整合があります。 Moment.jsのようなライブラリを使用することもできます。

+0

私は泣くかもしれないと思います – dafyddPrys

+0

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

+0

"*日付の解析での不一致*"は、なぜ組み込みパーサーをすべて! ;-) – RobG

関連する問題