js計算兩個時間差


時間格式

time:'2018-04-26 15:49:00'需要轉換為time:'2018/04/26 15:49:00'

  • 使用time.replace(/\-/g, "/")

第一種封裝為函數


function GetDateDiff(startTime, endTime, diffType) {
    //將xxxx-xx-xx的時間格式,轉換為 xxxx/xx/xx的格式 
    startTime = startTime.replace(/\-/g, "/");
    endTime = endTime.replace(/\-/g, "/");

    //將計算間隔類性字符轉換為小寫
    diffType = diffType.toLowerCase();
    var sTime = new Date(startTime);      //開始時間
    var eTime = new Date(endTime);  //結束時間
    //作為除數的數字
    var divNum = 1;
    switch (diffType) {
        case "second":
            divNum = 1000;
            break;
        case "minute":
            divNum = 1000 * 60;
            break;
        case "hour":
            divNum = 1000 * 3600;
            break;
        case "day":
            divNum = 1000 * 3600 * 24;
            break;
        default:
            break;
    }
    return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
}

var testDate = new Date();
var testStr = testDate.format("yyyy-MM-dd hh:mm:ss");

var result = GetDateDiff("2010-02-26 16:00:00", testStr, "day");
document.write("兩者時間差為:" + result + "天了。");

第二種

var date1=new Date('2016/1/1 0:0:0');    //開始時間
var date2=new Date();    //結束時間
var date3=date1.getTime()-date2.getTime(); //時間差秒
//計算出相差天數
var days=Math.floor(date3/(24*3600*1000));

//計算出小時數
var leave1=date3%(24*3600*1000)  ;  //計算天數后剩余的毫秒數
var hours=Math.floor(leave1/(3600*1000));

//計算相差分鍾數
var leave2=leave1%(3600*1000);        //計算小時數后剩余的毫秒數
var minutes=Math.floor(leave2/(60*1000));

//計算相差秒數
var leave3=leave2%(60*1000) ;     //計算分鍾數后剩余的毫秒數
var seconds=Math.round(leave3/1000);
alert("時間差" + days + "天" + hours + "時" + minutes + "分" + seconds + "秒");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM