【Javascript】DateのgetMonth()が1月ズレてしまう。原因と簡単な解消法。

JavascriptでDateを「xx月」表示に変換した時に1月前の数値が表示されてしまいました。

その原因と対策をメモしておきます。

const date = new Date('2022-08-09T13:00:15.604Z');

const month = date.getMonth();
console.log(month);

// 7  (データは8月なのに...)

解消法:getMonth()に「+1」する

getMonth()に「+1」をすることで解消できます。

const date = new Date('2022-08-09T13:00:15.604Z');

const month = date.getMonth() + 1;                // "+1"を追加
console.log(month);

// 8

年月日で表示したい場合

const date = new Date('2022-08-09T13:00:15.604Z');

const year = date.getFullYear() + '年';
const month = (date.getMonth() + 1) + '月';
const day = date.getDate() + '日';
console.log(year + month + day);

// 2022年8月9日

原因:getMonth()の返り値は「0〜11」

Javascriptの.getMonth()では、月の値を「0〜11」で返されます。

つまり1月は「0」で、12月は「11」で返ってくることになり、これが原因で1月ズレることになっています。

コメントを残す

*