美文网首页
计算两个日期之间的时间差(天-时-分)

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

作者: 陈大事_code | 来源:发表于2021-10-13 14:52 被阅读0次

    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分
    

    相关文章

      网友评论

          本文标题:计算两个日期之间的时间差(天-时-分)

          本文链接:https://www.haomeiwen.com/subject/ldzsoltx.html