计算时间差前我们先了解一下时间的转换进制
例如: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)
}