求当前日期的前几月

134 阅读1分钟
const getDateBeforeNowDate = (nowDate,num)=>{
    const arr=nowDate.split('-');
    const year=arr[0];
    const month=arr[1];
    const day=arr[2];
    let year1=year;
    let month1=parseInt(month)-num;
    let num1=parseInt(num/12);
    if(num1>0){
        year1=parseInt(year1)-num1;
        month1=parseInt(month)-num%12;
        if(month1<=0){
            year1=parseInt(year1)-1;
            month1=12-(num%12-parseInt(month));
        }
    }else{    
        if(month1<=0){
            year1=parseInt(year1)-1;
            month1=12-(num-parseInt(month));
        }
    }
    let day1=day;
    let days1=new Date(year1,month1,0).getDate();
    if(day1>days1){
        day1=days1;
    }
    return(
        year1+'-'+(month1.toString().length==1?'0'+month1:month1)+'-'+(day1.toString().length==1?'0'+day1:day1)
    )
}