JS 时间差计算 XX秒前、XX小时前、XX天前

 

//时间差
function GetTime(time) {//di作为一个变量传进来
    //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
    var dateBegin = new Date(time.replace(/-/g, "/"));//将-转化为/,使用new Date
    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);
    if (dayDiff >= 7) {
        return time.replace(/-/g, "/");
    }
    if (dayDiff > 0) {
        return dayDiff + "天前";
    }
    if (hours > 0) {
        return hours + "小时前";
    }
    if (minutes > 0) {
        return minutes + "分钟前";
    }
    return seconds + "秒前";
    //console.log(" 相差 " + dayDiff + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒")
    //console.log(dateDiff + "时间差的毫秒数", dayDiff + "计算出相差天数", leave1 + "计算天数后剩余的毫秒数", hours + "计算出小时数", minutes + "计算相差分钟数", seconds + "计算相差秒数");
}

 

posted @ 2019-10-24 09:15  雨殇丶  阅读(913)  评论(0编辑  收藏  举报