js计算跨月功能

 1、需求1

function computingTime(year,mouth,day,initMouth){
        mouth = Number(mouth);
        day = Number(day);
        var numberMonths = mouth + initMouth;
        //获取其实月的最后一天
        var startLastDay = getLastDay(year,mouth);
        //定义失效日期标识符
        var failureTime,failureYear,failureMouth,failureDay;
        if(numberMonths > 12){//跨年
            failureYear = year + 1;
            failureMouth = numberMonths - 12;
            //获取失效月最后一天
            failureDay =  getLastDay(failureYear,failureMouth);
            //控制日期格式
            if(failureMouth < 10){
                failureMouth = "0"+failureMouth;
            }
            //起始天不是该月最后一天
            if(day < startLastDay){
                if(failureDay > day){
                    if(day < 10){
                        failureDay = "0" + day;
                    }else{
                        failureDay = day;
                    }
                }
            }
            failureTime = failureYear +"-" + failureMouth +"-" + failureDay
            console.log(failureTime);
        }else{//不跨年
            failureYear = year;
            failureMouth = numberMonths;
            failureDay =  getLastDay(failureYear,failureMouth);
            if(failureMouth < 10){
                failureMouth = "0"+failureMouth;
            }
            //起始天不是该月最后一天
            if(day < startLastDay){
                if(failureDay > day){
                    if(day < 10){
                        failureDay = "0" + day;
                    }else{
                        failureDay = day;
                    }
                }
            }
            failureTime = failureYear +"-" + failureMouth +"-" + failureDay
            console.log(failureTime);
        }
    }
    computingTime(2017,2,28,1);//2017-03-31
    

2、需求2

function computingTime(year,mouth,day,initMouth){
        mouth = Number(mouth);
        day = Number(day);
        var numberMonths = mouth + initMouth;
        //获取其实月的最后一天
        //var startLastDay = getLastDay(year,mouth);
        //定义失效日期标识符
        var failureTime,failureYear,failureMouth,failureDay;
        if(numberMonths > 12){//跨年
            failureYear = year + 1;
            failureMouth = numberMonths - 12;
            //获取失效月最后一天
            failureDay =  getLastDay(failureYear,failureMouth);
            //控制日期格式
            if(failureMouth < 10){
                failureMouth = "0"+failureMouth;
            }
            //起始天不是该月最后一天
            if(day < failureDay){
               
                if(day < 10){
                    failureDay = "0" + day;
                }else{
                    failureDay = day;
                }
                
            }
            failureTime = failureYear +"-" + failureMouth +"-" + failureDay
            console.log(failureTime);
        }else{//不跨年
            failureYear = year;
            failureMouth = numberMonths;
            failureDay =  getLastDay(failureYear,failureMouth);
            if(failureMouth < 10){
                failureMouth = "0"+failureMouth;
            }
            //起始天不是该月最后一天
            if(day < failureDay){
                if(day < 10){
                    failureDay = "0" + day;
                }else{
                    failureDay = day;
                } 
            }
            failureTime = failureYear +"-" + failureMouth +"-" + failureDay
            console.log(failureTime);
        }
    }
    computingTime(2017,2,28,1);//2017-03-28

需要导入函数getLastDay;

猜你喜欢

转载自my.oschina.net/u/2395167/blog/842982