JavaScript の日付について
こんにちは、 @kz_morita です。
最近 Web フロントの実装をすることが多いのですが,JavaScript の日付についてちょっと躓いたことがあったのでまとめます.
JavaScript の日付型 JavaScript では,Dateクラスを用います.
MDN web docs - Date Data の生成は以下のように行います.
const date1 = new Date('2020-01-02T03:45:00Z'); const date2 = new Date(2020, 1, 2, 3, 45); 一見すると,両方とも 2020年 1月2日 3時45分 を指しているようですが,実は異なります.
date1 は 2020年 1月2日 3時45分 ですが,data2 は 2020年 2月2日 3時45分 を指します.
JavaScript の Date では,月 (month) は 0 ~ 11 の数値で指定します.
この仕様に気づかなくて,月が1ヶ月ずれるという不具合がありました.
ちなみに,上記の date1, date2 に対して Date.prototype.getMonth() メソッドを呼ぶと結果は以下のようになります.
const date1 = new Date('2020-01-02T03:45:00Z'); date1.