两个时间,算时间差,差几天几时几分几秒
const getDateDiff = (startTime,endTime)=>{
if(!startTime || !endTime) return
const fm = new Date(startTime)
const to = new Date(endTime)
const timeDiff = (to.getTime() - fm.getTime()) / 1000,
day = Math.floor(timeDiff / (24 * 3600)),
leavehour = timeDiff % (24 * 3600),
hour = Math.floor(leavehour / 3600),
leavemin = leavehour % 3600,
min = Math.floor(leavehour / 60),
leavescd = leavemin % 60,
scd = Math.round(leavescd)
let result = ''
if(day > 0) result += day +'日'
if(hour >0) result += hour + '时'
if(min >0) result += min + '分'
if(scd >0) result += scd + '秒'
if(result === ''){
result = '0秒'
}
return result
}
测试案例: getDateDiff(‘2024-1-1 10:10:00’, ‘2024-1-5 12:10:10’)
结果:4日2时120分10秒
反过来已知天数,从当前时间推时间范围
const createDateRange = (days)=>{
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * days)
return [start, end]
}