1. 代码如下
import moment from 'moment'
// 计算两个日期的相差时间(天 - 时 - 分)
export const calcDateDiff = (date1, date2) => {
const newDate1 = moment(date1)
const newDate2 = moment(date2)
const diff = Math.abs(newDate1.diff(newDate2, 'minute'))
// 一天的分钟
const OneDay = 60 * 24
// 一小时的分钟
const OneHour = 60
if (diff >= OneDay) {
// 超过一天
let day = Math.floor(diff / OneDay)
let hour = Math.floor((diff - day * OneDay) / 60)
let min = diff % 60
return `${day}天${hour}小时${min}分`
}
if (diff >= OneHour) {
// 超过一个小时,不足一天
let hour = Math.floor(diff / 60)
let min = diff % 60
return `${hour}小时${min}分`
}
if (diff < OneHour) {
let min = diff % 60
return `${min}分`
}
}
有特殊需求的,可以自行修改
2. 测试用例
// 测试 天时分
calcDateDiff('2020-12-1 01:00:00', '2020-12-12 02:10:00') // 11天1小时10分
// 测试 时分
calcDateDiff('2020-12-1 01:00:00', '2020-12-1 02:10:00') // 1小时10分
// 测试 分
calcDateDiff('2020-12-1 01:00:00', '2020-12-1 01:10:00') // 10分
网友评论