js計算跨月功能

 一、需求1javascript

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

二、需求2java

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;函數

相關文章
相關標籤/搜索