【JavaScript】ある月の日数を計算する
問題
JavaScriptで、ある月が何日あるか、日数を計算するには?
答え
ある月の日数を知りたかったら、翌月の0日(=当月末日)が何日になるかを見るとよい。
function days(year, month) { return new Date(parseInt(year, 10), parseInt(month, 10), 0).getDate(); }
2014年11月は何日あるかというと
new Date(parseInt(2014, 10), parseInt(11, 10), 0).getDate(); // → 30
2014年12月は何日あるかというと
new Date(parseInt(2014, 10), parseInt(12, 10), 0).getDate(); // → 31
2014年2月は何日あるかというと
new Date(parseInt(2014, 10), parseInt(2, 10), 0).getDate(); // → 28
2016年2月は何日あるかというと
new Date(parseInt(2016, 10), parseInt(2, 10), 0).getDate(); // → 29
1900年2月は何日あるかというと
new Date(parseInt(1900, 10), parseInt(2, 10), 0).getDate(); // → 28
コメント