【JS】时间戳转日期 | 计算2时间戳之间的间隔 | js获取当前时间戳

js获取当前时间戳

const getNowDateC = new Date().getTime()



时间戳转日期

/**
 * 时间戳转日期
 * @param {Number} n 转换的时间戳
 * @param {String} timeType 转换的格式
 * @returns {String} 返回已转换的时间
 */
const datecToDate = (n, timeType = 'yyyy/MM/dd hh:mm:ss') => {
    
    

    let date = new Date(Number(n)),
        Y = date.getFullYear(),
        M = date.getMonth() + 1,
        D = date.getDate(),
        h = date.getHours(),
        m = date.getMinutes(),
        s = date.getSeconds(),
        res = ''



    const regPx = timeType.match(/[^\w]/ig)

    const regY = /y{4}/i.test(timeType)

    const regM1 = /M{1}/.test(timeType)
    const regM2 = /M{2}/.test(timeType)

    const regD1 = /d{1}/i.test(timeType)
    const regD2 = /d{2}/i.test(timeType)

    const regH1 = /h{1}/i.test(timeType)
    const regH2 = /h{2}/i.test(timeType)

    const regMm1 = /m{1}/.test(timeType)
    const regMm2 = /m{2}/.test(timeType)

    const regSs1 = /s{1}/i.test(timeType)
    const regSs2 = /s{2}/i.test(timeType)


    if (regY) {
    
    
        res += Y
    }


    if (regM2) {
    
    
        M < 10 ? M = '0' + M : M
        res += regPx[0] + M
    } else if (regM1) {
    
    
        res += regPx[0] + M
    }


    if (regD2) {
    
    
        D < 10 ? D = '0' + D : D
        res += regPx[1] + D
    } else if (regD1) {
    
    
        res += regPx[1] + D
    }


    if (regH2) {
    
    
        h < 10 ? h = '0' + h : h
        res += regPx[2] + h
    } else if (regH1) {
    
    
        res += regPx[2] + h
    }


    if (regMm2) {
    
    
        m < 10 ? m = '0' + m : m
        res += regPx[3] + m
    } else if (regMm1) {
    
    
        res += regPx[3] + m
    }

    if (regSs2) {
    
    
        s < 10 ? s = '0' + s : s
        res += regPx[4] + s
    } else if (regSs1) {
    
    
        res += regPx[4] + s
    }

    return res
}

console.log(datecToDate(1683128095)) // 1970/01/20 19:32:08

在这里插入图片描述




计算2时间戳的间隔

/**
 * 计算2时间戳的间隔 | 获取当前时间戳 -> new Date().getTime()
 * @param {Number} date1 时间戳1
 * @param {Number} date2 时间戳1
 * @returns {Object{s,m,h,d}}  返回的2时间戳的间隔 s-秒 m-分钟 h-小时 d-天
 */
const dateCha = (date1, date2) => {
    
    

    const d1 = Number(date1)
    const d2 = Number(date2)

    const minDate = Math.min(d1, d2)
    const maxDate = Math.max(d1, d2)

    // 除1000转毫秒
    const cha = parseInt((maxDate - minDate) / 1000)

    const s = parseInt(cha % 60)//秒
    const m = parseInt(cha / 60 % 60)//分
    const h = parseInt(cha / 60 / 60 % 24)//小时
    const d = parseInt(cha / 60 / 60 / 24)//天

    return {
    
    
        s, m, h, d
    }
}

// 1683128095 1970-01-20 19:32:08
// 1300133704265 2011-03-15 04:15:04 
console.log(dateCha(1683128095, 1300133704265)) // {s: 56, m: 42, h: 8, d: 15028}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43614372/article/details/130479105
今日推荐