日期往前推某个月

js当前日期展示在时间选择器中

代码如下
mounted() {
    function dateFormat(fmt, date) {
      let ret;
      const opt = {
        "Y+": date.getFullYear().toString(), // 年
        "m+": (date.getMonth() + 1).toString(), // 月
        "d+": date.getDate().toString(), // 日
      };
      for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
          fmt = fmt.replace(
            ret[1],
            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")
          );
        }
      }
      return fmt;
    }
    var data = new Date();
    var times = dateFormat("YYYY-mm-dd", data);
    }

js当前日期往前推m个月后的日期获取

var m=20;//m为后台自动获取数据
if(parseInt(m)>0){//m是 往前推的总月份
    var myDate = new Date();
    var mytime=myDate.format('yyyy-MM-dd');//获取当前日期
    var year = myDate.getFullYear();//获取当前年
    var month = myDate.getMonth()+1;//获取当前月
    var day = myDate.getDate();//获取当前日
    var lowData='';//当前年月日往前推m个月后获取到的年月日
    var ylow=parseInt(parseInt(m)/12);//往前推的总月份换成对应的年数取整
    var mlow=parseInt(m)%12;//往前推的月数
    if(ylow>0){
        year-=ylow;//年要再减一
    }else{
        year=year;//年取当前年份
    }
    if((mlow>month) || (mlow==month)){//往前推的月份大于或等于当前月份,12减去往前推的月份加上现在的月份
        year=year-1;
        month=12-mlow+month;
        if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
        lowData=year+'年'+month+'月'+day+'日'
    }else{//往前推的月份小于当前月份
        month-=mlow;
        if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
        lowData=year+'年'+month+'月'+day+'日'
    }
    console.log(lowData) //2022年5月1日
}else{
    console.log(m)
}

js当前日期往后推m个月后的日期获取

var myDate = new Date();
var year = myDate.getFullYear(); //获取当前年
var month = myDate.getMonth() + 1; //获取当前月
var lowData = "";
var ylow = parseInt(desNum); //总月份换成对应的年数取整
let countDown = 12 - desNum;
if (month <= countDown) {
  month += ylow;
} else if (month > countDown) {
  year += 1;
  month = month - 12 + ylow;
}
if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
lowData = year + "-" + month;

var times = lowData;  //2022-5
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值