美文网首页
js计算时间差,包括计算,天,时,分,秒

js计算时间差,包括计算,天,时,分,秒

作者: Astep | 来源:发表于2019-05-27 11:48 被阅读0次

    计算时间差前我们先了解一下时间的转换进制

    例如:12小时转换为时间戳

    12 * 60 * 60 * 1000

    第一个60单位分钟

    第二个60单位是秒

    第三个1000单位毫秒

    下面我们直接上代码了

    function timeDifference(startTime, endTime) { //可以传日期时间或时间戳
                let start = typeof(startTime) == "number" ? startTime : new Date(startTime).getTime(),
                    end = typeof(endTime) == "number" ? endTime : new Date(endTime).getTime(),
                    difference = end - start, //时间差的毫秒数
                    days = Math.floor(difference / (24 * 3600 * 1000)), //计算出相差天数
                    leave1 = difference % (24 * 3600 * 1000), //计算天数后剩余的毫秒数
                    hours = Math.floor(leave1 / (3600 * 1000)), //计算相差分钟数
                    leave2 = leave1 % (3600 * 1000), //计算小时数后剩余的毫秒数
                    minutes = Math.floor(leave2 / (60 * 1000)), //计算相差秒数
                    leave3 = leave2 % (60 * 1000), //计算分钟数后剩余的毫秒数
                    seconds = Math.round(leave3 / 1000);
                return `相差${days}天${hours}小时${minutes}分钟${seconds}秒`
            }
    

    简易时分秒倒计时

    resetTime(totalTime) { //传Number 以秒为单位
                    var timer = setInterval(function() {
                        var s = (totalTime % 60) < 10 ? ('0' + totalTime % 60) : totalTime % 60;
                        var h = totalTime / 3600 < 10 ? ('0' + parseInt(totalTime / 3600)) : parseInt(totalTime / 3600);
                        var m = (totalTime - h * 3600) / 60 < 10 ? ('0' + parseInt((totalTime - h * 3600) / 60)) : parseInt((totalTime -
                            h * 3600) / 60);
                        console.log(h + ' : ' + m + ' : ' + s);
                        totalTime--;
                        if (totalTime < 0) clearTimeout(timer);
                    }, 1000)
                }
    

    相关文章

      网友评论

          本文标题:js计算时间差,包括计算,天,时,分,秒

          本文链接:https://www.haomeiwen.com/subject/xcbctctx.html