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

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

例如: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)
            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。