我想在提供日期之后用下面的代码
来获取明年的日期var dateArray = new Array();
dateArray.push(date);
for(var i=1;i<12;i++){
dateArray.push(new Date(date.getFullYear(),date.getMonth()+i,date.getDate()));
}
console.log(dateArray)
如果我在1-28之间选择日期,但是当我选择任何即将到来的月份没有的日期时它会移动到下个月,这是正常的。
这里应该发生的是我应该获得所选日期不可用的月份的最后日期
答案 0 :(得分:3)
Date
对象类型通过递增月份来处理当月的溢出,正如您所说的那样。要执行您想要的操作,您需要添加if
语句来检查日期是否正确,如果不是,则需要修复它。
var date = new Date(2015, 2, 30);
var dateArray = new Array();
dateArray.push(date);
for (var i = 1; i < 12; i++) {
dateArray.push(new Date(date.getFullYear(), date.getMonth() + i, date.getDate()));
// check if the day of the month is correct.
// If it isn't, we know that it overflowed into the next month
if(dateArray[i].getDate() !== date.getDate()) {
// setting the day to 0 will set it to the last day of the previous month
dateArray[i].setDate(0);
}
}
console.log(dateArray)
&#13;
答案 1 :(得分:0)
如果你想在特定的月份和年份的最后一天收集
function daysInMonth (month,year) {
return new Date(year, month+1, 0).getDate();
};