js如何比較兩個日期之間相差數(天、時、分、秒)

<body>
     <div>
        請輸入第一個日期:<input type="date" id="Date1"  /> <br/>
        請輸入第二個日期:<input type="date"  id="Date2" /> <br/>
        請輸入日期相差數: <input type="text" id="differ"  />(參數:1:相差天數,2:相差小時數,3:相差分鐘數,4:相差毫秒數) <br/>
        <input type="button" value="調用測試"  οnclick="TestClick()" />
    </div>
</body>
<script>
    //獲取當前日期
    var getNowDate = function () {
        var d = new Date();
        var year = d.getFullYear();
        var month = d.getMonth() + 1;
        var day = d.getDate();
        var dateStr = year + '-' + getFormatDate(month) + '-' + getFormatDate(day);
        return dateStr;
    }
        
     //格式化日期的月份或天數的顯示(小於10,在前面增加0)
    function getFormatDate(value) {
        var result;
        result = value < 10 ? ("0" + value) : value;
        return result;
    }
        
    //獲取與毫秒數的轉化比例(相差天數:1,相差小時數:2,相差分鐘數:3,相差秒數:4)
    var getDifferScale = function (value) {
        var format;
        //獲取轉化比(天數跟毫秒數的比例)
        if (value == 1) {
            format = parseFloat(24 * 60 * 60 * 1000);
        }
            //獲取轉化比(小時數跟毫秒數的比例)
        else if (value == 2) {
            format = parseFloat(60 * 60 * 1000);
        }
            //獲取轉化比(分鐘數跟毫秒數的比例)
        else if (value == 3) {
            format = parseFloat(60 * 1000);
        }
            //獲取轉化比(秒數跟毫秒數的比例)
        else if (value == 4) {
            format = parseFloat(1000);
        }
        return format;
    }
    
    //獲取兩個日期的相差日期數(differ 相差天數:1、相差小時數:2、相差分鐘數:3、相差秒數:4)
    var getDifferDate = function (firstDate, secondDate, differ) {
        //1)將兩個日期字符串轉化爲日期對象
        var startDate = new Date(firstDate);
        var endDate = new Date(secondDate);
        //2)計算兩個日期相差的毫秒數
        var msecNum = endDate.getTime() - startDate.getTime();
        //3)計算兩個日期相差的天數
        var dayNum = Math.floor(msecNum /getDifferScale(differ));
        return dayNum;
    }
    
    //測試方法
    var TestClick = function(){
        var date1 = $("#Date1").val();    
        var date2 = $("#Date2").val();    
        var differ = $("#differ").val();
        if(date1 == "" || date1==null){
            alert("第一個日期不能爲空");    
        }
        else if(date2 == "" || date2==null){
            alert("第二個日期不能爲空");    
        }
        else if(differ == "" || differ==null ){
            alert("日期相差數不能爲空");    
        }
        var result = getDifferDate(date1,date2,differ);        
         console.log("輸出結果:"+ result);
    }
        
</script>

轉載內容地址:cnblogs.com/xielong/p/8269119.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章