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

简介: 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)
            }
相关文章
|
6月前
|
JavaScript 算法
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
|
6月前
|
JavaScript
|
6月前
|
JavaScript 前端开发 大数据
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
|
11天前
|
JavaScript 前端开发
|
1月前
|
缓存 JavaScript 前端开发
探索Vue.js中的计算属性与侦听器
【10月更文挑战第5天】探索Vue.js中的计算属性与侦听器
22 1
|
1月前
|
缓存 JavaScript 前端开发
深入理解Vue.js中的计算属性与侦听属性
【10月更文挑战第5天】深入理解Vue.js中的计算属性与侦听属性
24 0
|
1月前
|
缓存 JavaScript 前端开发
探索Vue.js中的计算属性与侦听器:深入理解与实践
【10月更文挑战第5天】探索Vue.js中的计算属性与侦听器:深入理解与实践
19 0
|
6月前
|
缓存 JavaScript 前端开发
Vue.js计算属性:实现数据驱动的利器
Vue.js计算属性:实现数据驱动的利器
|
4月前
|
JavaScript
js 精确计算(解决js四则运算精度缺失问题)
js 精确计算(解决js四则运算精度缺失问题)
144 0
|
4月前
|
前端开发
大屏自适应/适配方案【详解】(echarts自适配、rem、flexible.js、vscode中px2rem插件自动计算rem)
大屏自适应/适配方案【详解】(echarts自适配、rem、flexible.js、vscode中px2rem插件自动计算rem)
627 0