计算时间间隔的方法有很多,这里只是一种方式,可以方法里直接传入两个时间,也可以传入两个字符串格式的时间,在方法里解析一下就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)); // 天数 }
其实计算的方法有很多,这里只是个例子,嗯,就酱~