1

オブジェクトを使用してJavaScriptで日付操作を行っていDateます。バグを理解するのに 1 時間ほど無駄にしました。初期化の直後に.toJSON()関数を使用したところ、日付が 1 つ減りました。これが私がやっていたことのコードサンプルです:

var date = new Date();
console.log(date.getDate()); // print "19"
date.setDate(date.getDate()-1); // print "18"
var formated = date.toJSON().substr(0, 10); // print "2013-09-17"

突然、日付が 18 から 17 に移動しました。そのため、開発者コンソールでこれを直接試してみました。

new Date(2013, 09, 19)
Sat Oct 19 2013 00:00:00 GMT+0200 (Paris, Madrid (heure d’été)) // date "19" as it should
new Date(2013, 09, 19).toJSON()
"2013-10-18T22:00:00.000Z" // date "18" as it shouldn't

今、私の質問は単に「なぜ?」です。

これは私の構成またはそれ以外に起因する可能性はありますか?

バグですか?はいの場合、それは既知のバグですか?

4

4 に答える 4