JavaScript 计算两个时间的时间差


// 原始数据
var t1 = "2017/08/28 04:56:38";
// 转化为Date对象的形式 Mon Aug 28 2017 04:56:38 GMT+0800 (中国标准时间)
var dateBegin = new Date(t1);
// 第一种:"2017/08/28 04:56:38" 这种格式不用再进行处理
// 第二种:"2017-08-01 18:56:38" 这种格式就要进行处理
var t1 = "2017-05-12 00:13:53";
// replace方法将-转为/
var dateBegin = new Date(d1.replace(/-/g, "/"));
// 当前时间数据
var dateEnd = new Date();

// d1作为一个变量传进来
function timeFn(d1) {
    var dateBegin = new Date(d1.replace(/-/g, "/"));
    var dateEnd = new Date();
    // 时间差的毫秒数
    var dateDiff = dateEnd.getTime() - dateBegin.getTime();
    // 计算出相差天数
    var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));
    // 计算天数后剩余的毫秒数
    var leave1 = dateDiff%(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)
    console.log("相差 "+dayDiff+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒")
}

var t3 = "2017-08-18 04:56:38";
timeFn(t3);
分享:

评论