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 + "秒");

posted @ 2019-12-13 17:46  阿臻  阅读(1706)  评论(0编辑  收藏  举报