美文网首页
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