Javascript 报告二月有 31 天。下面的代码显示第二个月的天数多于应有的天数。这是怎么回事?
var currentDate = new Date(2018, 2, 4);
function getDaysInMonth(month, year) {
var date = new Date(year, month, 1);
var days = [];
while (date.getMonth() === month) {
days.push(new Date(date));
date.setDate(date.getDate() + 1);
}
return days;
}
var dayArr = getDaysInMonth(currentDate.getMonth(), currentDate.getFullYear());
alert('month: '+currentDate.getMonth()+' year: '+currentDate.getFullYear()+' days: '+dayArr.length);
那是因为月份是 0 索引的,所以 JS 中的月份 2 是三月。试试看,
var currentDate = new Date(2018, 1, 4);
这将输出 28 天。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句