javascript - 如果月份中没有可用日期,则获取年份日期时会缺少月份

标签 javascript jquery datetime

我正在尝试使用以下代码获取提供日期后明年的日期

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/

相关文章:

jquery - Bootstrap 游览 n.data(...).tip 不是函数

sql - MSSQL 一天或一天​​范围的日期范围的最佳查询

python - Pandas to_datetime 函数给出不稳定的输出

python - 想要在Python中找到不同日期格式的两个日期之间以天为单位的差异

php - PHP 中的 UPDATE 语句需要知道是否选择了新文件

javascript - 找不到模块 'node-static'

javascript - 基于元素实际大小的中心闪光元素

javascript - 没有可接受的卡可用于此商家 - Google Pay

javascript - 使 onClick 按钮与 div 重叠内容

javascript - Durandal 单音问题