我正在尝试使用以下代码在提供日期之后获取明年的日期
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之间,则效果很好,但是当我选择对下个月不可用的任何日期时,它将移至下个月。
这里应该发生的是我应该获取所选日期不可用的月份的最后日期
最佳答案
正如您所说,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)
关于javascript - 如果月份中没有可用的日期,则缺少年份中的月份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34540456/