计算两个日期之间的时间差(天-时-分)

2021-10-13  本文已影响0人  陈大事_code

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分
上一篇下一篇

猜你喜欢

热点阅读