月の最後日は?
重要性: 5
月の最後の日を返す関数 getLastDayOfMonth(year, month)
を書いてください。それは 30, 31, または2月であれば 28/29 です。
パラメータ:
year
– 4桁の年、例えば 2012month
– 月、0 から 11
例えば、getLastDayOfMonth(2012, 1) = 29
(うるう年、2月)
次の月を使って日付を作りますが、その日としてゼロを渡します:
function getLastDayOfMonth(year, month) {
let date = new Date(year, month + 1, 0);
return date.getDate();
}
alert( getLastDayOfMonth(2012, 0) ); // 31
alert( getLastDayOfMonth(2012, 1) ); // 29
alert( getLastDayOfMonth(2013, 1) ); // 28
通常、日は 1から始まりますが、技術的には任意の数値を渡すことが可能で、日付は自身を自動調整します。なので、 0 を渡したとき、それは “その月の1日より、1日前” を意味します。: つまり、“前の月の最終日” になります。
function getLastDayOfMonth(year, month) {
let date = new Date(year, month + 1, 0);
return date.getDate();
}