1. 代碼如下
import moment from 'moment'
// 計(jì)算兩個(gè)日期的相差時(shí)間(天 - 時(shí) - 分)
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
// 一小時(shí)的分鐘
const OneHour = 60
if (diff >= OneDay) {
// 超過(guò)一天
let day = Math.floor(diff / OneDay)
let hour = Math.floor((diff - day * OneDay) / 60)
let min = diff % 60
return `${day}天${hour}小時(shí)${min}分`
}
if (diff >= OneHour) {
// 超過(guò)一個(gè)小時(shí)忽刽,不足一天
let hour = Math.floor(diff / 60)
let min = diff % 60
return `${hour}小時(shí)${min}分`
}
if (diff < OneHour) {
let min = diff % 60
return `${min}分`
}
}
有特殊需求的,可以自行修改
2. 測(cè)試用例
// 測(cè)試 天時(shí)分
calcDateDiff('2020-12-1 01:00:00', '2020-12-12 02:10:00') // 11天1小時(shí)10分
// 測(cè)試 時(shí)分
calcDateDiff('2020-12-1 01:00:00', '2020-12-1 02:10:00') // 1小時(shí)10分
// 測(cè)試 分
calcDateDiff('2020-12-1 01:00:00', '2020-12-1 01:10:00') // 10分