获取当前月份/当前日期的前n个月/前n天的集合

文章提供两个JavaScript函数,sixMonth()用于获取当前日期前六个月的日期集合,sevenDay()则用于获取当前日期前七天的日期集合。这两个函数通过操作Date对象来生成和排序日期字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取当前月份的前6个月的集合
function sixMonth (date) {
   var data = date;
   var MonthArr = [];
   var year = data.getFullYear(); // 当前年
   data.setMonth(data.getMonth() + 1, 1); // 获取到当前月份,设置月份

   for (var i = 0; i < 6; i++) {
     data.setMonth(data.getMonth() - 1); // 每次循环一次 月份值减1
     var m = data.getMonth() + 1;
     m = m < 10 ? "0" + m : m;
     MonthArr.push(data.getFullYear() + "-" + m);
   }

   return MonthArr.sortFn()
}

Array.prototype.sortFn = function() {
  var timeStep = [];
  var timeObj = {}; 
  for (var index = 0, len = this.length; index < len; index++) {
    timeObj[new Date(this[index]).getTime()] = this[index];
    timeStep.push(new Date(this[index]).getTime());
  }
  timeStep.sort();
  for (var j = 0; j < timeStep.length; j++) {
    this[j] = timeObj[timeStep[j]];
  }
  return this;
}
sixMonth(new Date()); // ['2022-08', '2022-09', '2022-10', '2022-11', '2022-12', '2023-01']
获取当前日期前7天日期集合
function sevenDay(date) {
   let myDate = new Date(date); //获取今天日期
   myDate.setDate(myDate.getDate() - 6);  //获取n天前的日期
   let dateArray = [];
   let dateTemp;
   let flag = 1;
   for (let i = 0; i < 7; i++) {
     dateTemp = (myDate.getMonth() + 1) + "-" + myDate.getDate();
     dateArray.push(dateTemp);
     myDate.setDate(myDate.getDate() + flag);
   }

   return dateArray;
}
sevenDay(new Date()); // ['1-2', '1-3', '1-4', '1-5', '1-6', '1-7', '1-8']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值