js——获取两个日期之间相差多少天或者多少时间——天+小时+分+秒
应用场景
计算两个日期之间的时间差,最后精确到天数或者年月日时分秒的程度
需求分析
最近在写后台管理系统时,遇到一个需求,就是要根据两个日期,获取相差的天数。
比如给你两个日期,让你判断两个日期之差,然后汇总是否逾期,及逾期天数等等。
这是比较常用的写法了。
代码很简单,此处记录一下,以后遇到直接使用拿来主义,直接使用即可。
代码实现
1.计算两个时间之间相差的天数——入参是new Date(‘2023-01-13 10:14:30’)这样的格式
getDiffDay(date_1, date_2){
let totalDays, diffDate
let myDate_1 = Date.parse(date_1)
let myDate_2 = Date.parse(date_2)
diffDate = Math.abs(myDate_1 - myDate_2)
totalDays = Math.floor(diffDate / (1000 * 3600 * 24))
return totalDays
},
2.计算两个时间之间相差的具体时间
getDiffTime(new_date,old_date){
var subtime = (new_date - old_date) / 1000; //计算时间差,并将毫秒转化为秒
var days = parseInt(subtime / 86400); //天 24*60*60*1000
var hours = parseInt(subtime / 3600) - 24 * days; //小时 60*60 总小时数-过去小时数=现在小时数
var mins = parseInt(subtime % 3600 / 60); //分钟 - (day*24) 以60秒为一整份 取余 剩下秒数 秒数/60就是分钟数
var secs = parseInt(subtime % 60); //以60秒为一整份 取余 剩下秒数
return "时间差是:" + days + "天 " + hours + "小时 " + mins + "分钟 " + secs + "秒 ";
}
完成!!!多多积累,多多收获!