1. 程式人生 > 實用技巧 >js兩個時間的分鐘數差值

js兩個時間的分鐘數差值

function minutesCha( begin, end ) {
    //定義兩個變數time1,time2分別儲存開始和結束時間
    var time1 = begin || "2009-12-02T12:25:10.592Z";
    var time2 = end || "2009-12-02T12:35:20.589Z";

    //判斷開始時間是否大於結束日期
    if (time1 > time2) {
        alert("開始時間不能大於結束時間!");
        return false;
    }

    //擷取字串,得到日期部分"2009-12-02",用split把字串分隔成陣列
    var begin1 = time1.substr(0, 10).split("-");
    var end1 = time2.substr(0, 10).split("-");

    //將拆分的陣列重新組合,並例項成化新的日期物件
    var date1 = new Date(begin1[1] + - + begin1[2] + - + begin1[0]);
    var date2 = new Date(end1[1] + - + end1[2] + - + end1[0]);

    //得到兩個日期之間的差值m,以分鐘為單位
    //Math.abs(date2-date1)計算出以毫秒為單位的差值
    //Math.abs(date2-date1)/1000得到以秒為單位的差值
    //Math.abs(date2-date1)/1000/60得到以分鐘為單位的差值
    var m = parseInt(Math.abs(date2 - date1) / 1000 / 60);

    //小時數和分鐘數相加得到總的分鐘數
    //time1.substr(11,2)擷取字串得到時間的小時數
    //parseInt(time1.substr(11,2))*60把小時數轉化成為分鐘
    var min1 = parseInt(time1.substr(11, 2)) * 60 + parseInt(time1.substr(14, 2));
    var min2 = parseInt(time2.substr(11, 2)) * 60 + parseInt(time2.substr(14, 2));

    //兩個分鐘數相減得到時間部分的差值,以分鐘為單位
    var n = min2 - min1;

    //將日期和時間兩個部分計算出來的差值相加,即得到兩個時間相減後的分鐘數
    var minutes = m + n;
    // 返回 分鐘差
    return minutes;
}