js计算两个时间之间的间隔

时间:2022-09-22 22:28:41

计算时间间隔的方法有很多,这里只是一种方式,可以方法里直接传入两个时间,也可以传入两个字符串格式的时间,在方法里解析一下就ok,这个例子里不传入参数,直接在方法里随便写一个时间来演示一下

 fun() {
let startTime = new Date('2018-1-1'); // 开始时间
let endTime = new Date(); // 结束时间
let usedTime = endTime - startTime; // 相差的毫秒数
let days = Math.floor(usedTime / (24 * 3600 * 1000)); // 计算出天数
let leavel = usedTime % (24 * 3600 * 1000); // 计算天数后剩余的时间
let hours = Math.floor(leavel / (3600 * 1000)); // 计算剩余的小时数
let leavel2 = leavel % (3600 * 1000); // 计算剩余小时后剩余的毫秒数
let minutes = Math.floor(leavel2 / (60 * 1000)); // 计算剩余的分钟数
return days + '天' + hours + '时' + minutes + '分';
}

当然这里这么写是为了说明每一步是为了干什么,这样显得代码很冗余,其实没必要那么多变量,用的时候可以自己根据需要来修改~

如果仅仅只要求出相差的秒数,分钟数,小时数或者天数,则可以这样来计算

 fun() {
let startTime = new Date('2018-1-1'); // 开始时间
let endTime = new Date(); // 结束时间
console.log(endTime - startTime); // 毫秒数
console.log(Math.floor((endTime - startTime) / 1000)); // 秒数
console.log(Math.floor((endTime - startTime) / 1000 / 60)); // 分钟
console.log(Math.floor((endTime - startTime) / 1000 / 60 / 60)); // 小时
console.log(Math.floor((endTime - startTime) / 1000 / 60 / 60 / 24)); // 天数
}

其实计算的方法有很多,这里只是个例子,嗯,就酱~