時間 Date

時間選擇 月最後一天,選擇3/6/12個月

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
</body>
<script>
function getMonthLastDay(year,month) {        
    var new_year = year;    //取當前的年份        
    var new_month = month++;//取下一個月的第一天,方便計算(最後一天不固定)        
    if(month>12)            //若是當前大於12月,則年份轉到下一年        
    {        
    new_month -=12;        //月份減        
    new_year++;            //年份增        
    }        
    var new_date = new Date(new_year,new_month,1);                //取當年當月中的第一天        
    return (new Date(new_date.getTime()-1000*60*60*24)).getDate();//獲取當月最後一天日期        
}        

// var startVal = $('[name="startDate"]').val(now.format('yyyy-MM-dd'));

function getEndDate(MonthType) {

    // var d = new Date();
    //12月
    // var d = new Date('2017/01/01');
    // var d = new Date('2017/01/31');
    // var d = new Date('2017/12/01');
    var d = new Date('2019/12/30');
    // var d = new Date('2019/12/31');
    // var d = new Date('2018/11/30');
    // var d = new Date('2018/12/30');
    // var d = new Date('2018/12/31');
    // var d = new Date('2019/01/31');
    // var d = new Date('2019/03/01');
    // var d = new Date('2020/03/01');
    // var d = new Date('2020/01/31');
    // var d = new Date('2020/01/01');
    // var d = new Date('2020/02/01');
    // var d = new Date('2020/12/01');

    //6月
    // var d = new Date('2017/01/01');
    // var d = new Date('2017/01/31');
    // var d = new Date('2017/06/01');
    // var d = new Date('2017/06/30');
    // var d = new Date('2017/07/01');
    // var d = new Date('2017/07/02');
    // var d = new Date('2020/01/01');
    // var d = new Date('2020/02/01');
    // var d = new Date('2020/12/01');

    //季度
    // var d = new Date('2017/07/31');
    // var d = new Date('2017/07/01');
    // var d = new Date('2017/02/01');
    // var d = new Date('2019/01/31');
    // var d = new Date('2019/03/01');
    // var d = new Date('2020/03/01');
    // var d = new Date('2020/01/31');

    var gm = d.getMonth() + 1 + MonthType ;   
    var gd = d.getDate() - 1;
    var newDate = new Date(d.getFullYear(),gm - 1,gd);

    var tarGm = gm>12 ? gm-12 : gm; //預期月份
    if(gm==13&&gd==0){    // 這裏主要涉及到跨年,而且日期爲00 ,月份會向預期前一年最後一月,年份會向預期前一年,如2020.01.01 --》 2020.12.31的狀況處理
        tarGm += 12;
    }
    if(newDate.getMonth() + 1 > tarGm){
        newDate = new Date(newDate.getFullYear(),gm%12-1,getMonthLastDay(newDate.getFullYear(),gm%12));
    }
    console.log(newDate)
}
// getEndDate(3);
// getEndDate(6);
getEndDate(12);

</script>

</html>
相關文章
相關標籤/搜索