JS 用时间戳计算两个时间之间间隔
getTime()方法
方法定义: getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
通常我们计算时间差都是通过获取两个时间数据,然后分别使用 getTime() 方法返回与固定的1970 年 1 月 1 日的时间差,通过对返回毫秒数的差,换算成时间单位,得出两个时间的时间差。
时间格式
第一种:"2019/08/28 04:56:38" // 这种格式不用进行处理
第二种:"2019-08-01 18:56:38" // 这种格式要进行处理
因为new Date()方法不能处理第二种数据,所以我们这里需要将第二种数据格式转化为第一种数据的格式。
let time = "2019-08-01 18:56:38";
let dateTime = new Date(time.replace(/-/g, "/")); // replace方法将 - 转为 /
let dateNow = new Date(); // 获取当前时间
let timeDiff = dateNow.getTime() - dateTime.getTime(); // 时间差的毫秒数
// timeDiff = 时间戳差值
let days = Math.floor(timeDiff / (24 * 3600 * 1000)); // 计算出天数
let leavel1 = timeDiff % (24 * 3600 * 1000); // 计算天数后剩余的时间
let hours = Math.floor(leavel1 / (3600 * 1000)); // 计算天数后剩余的小时数
let leavel2 = timeDiff % (3600 * 1000); // 计算剩余小时后剩余的毫秒数
let minutes = Math.floor(leavel2 / (60 * 1000)); // 计算剩余的分钟数
console.log(`${days}天${hours}时${minutes}分`)