获取两个之间年月和前三月

文章介绍了如何使用JavaScript编写函数来计算两个日期之间的年月差以及获取当前日期之前的前三个月。函数yearsMonthsDiff用于计算两个日期间的年月差距,getLastThreeMonths则返回当前日期的前三个月份.
摘要由CSDN通过智能技术生成
  1. 两个月之间年月
(`// 两个月之间年月
例子(2024,1,2024,3)
  yearsMonthsDiff(year1: number, month1: number, year2: any, month2: any) {
    let yearsDiff = year2 - year1;
    let monthsDiff = month2 - month1;
    let oldy = year1;
    let oldM = month1;
    // 如果实际月数差小于0,则年数需减1
    if (monthsDiff < 0) {
      yearsDiff--;
      monthsDiff += 12;
    }
    let pushFor = [];
    let day = yearsDiff * 12 + monthsDiff;//得到两个日期之间的天数
  // let yearMore=0
    if (day > 0) {
      for (let i = 0; i < day; i++) {
        // 如果实际月数差小于0,则年数需减1
        let pushM: number = oldM + i;
        console.log(pushM, "月");
        if (pushM > 12) {
          year1 = oldy + 1; //只支持跨一年
          pushM = pushM - 12;
          //if(pushM==13){//记录一次跨年 (多年)
          //   yearMore++
          // year1+=yearMore
           //  }
        const yearMonth = year1 + "-" + (pushM < 10 ? "0" + pushM : pushM); // 转换为字符串格式
        pushFor.push(yearMonth); // 添加到数组前面
      }
      return pushFor;//2023-01,2023-02
    }
  }`

2.获取前三个月日期

getLastThreeMonths() {
    const now = new Date();
    let months = [];
    for (let i = -1; i < 2; i++) {
      let year: any = now.getFullYear();
      let month = now.getMonth() - i;//获取月份是now.getMonth() + 1所以初始值为-1
      if (month <= 0) {
        // 如果超过了当前年份的月份,则加-1+12=11,0+12=12
        month += 12;
        year--;
      }
      const yearMonth = year + "-" + (month < 10 ? "0" + month : month);
      months.unshift(yearMonth); // 添加到数组前面
    }
    return months;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值