月の最後日は?
重要性: 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
(
)
;
}