时间格式处理

141 阅读1分钟
export const deepCopy = (obj) => {    if (typeof obj === 'object' && obj !== null) {        var result = Array.isArray(obj) ? [] : {};        for (var key in obj) {            if (obj.hasOwnProperty(key)) {                if (typeof obj[key] === 'object') {                    result[key] = deepCopy(obj[key]);   //递归复制                } else {                    result[key] = obj[key];                }            }        }    } else {        result = obj    }    return result;  }export function parseTime(date, formatStr) {    if (!date) {        return ''    }    let d    date = date || new Date()    if (date instanceof Date) {        // 传入Date对象        d = date    } else if (typeof date === 'string') {        // 日期格式        date = date.replace(/(\d{4})(\d{1,2})(\d{1,2})/, (a, b, c, d) => { return `${b}-${c}-${d}` })        d = new Date(switchConnectSign(date, 0))    } else if (typeof date === 'number') {        // 时间戳        d = new Date(date)    }    if (!formatStr) {        // 未传入格式        formatStr = 'Y-M-D H:F:S'        // 未传入格式        // formatStr = 'Y-M-D H:F:S';    }    const formatNumStr = num => (num < 10 ? '0' + num : num)    return formatStr.replace(/Y|y|M|m|D|d|H|h|F|f|S|s/g, v => {        switch (v) {            case 'y':                // yyyy => yy                return (d.getFullYear() + '').slice(2)            case 'Y':                // yyyy                return d.getFullYear()            case 'm':                // m                return d.getMonth() + 1            case 'M':                // mm                return formatNumStr(d.getMonth() + 1)            case 'd':                // d                return d.getDate()            case 'D':                // dd                return formatNumStr(d.getDate())            case 'h':                // h                return d.getHours()            case 'H':                // hh                return formatNumStr(d.getHours())            case 'f':                // f                return d.getMinutes()            case 'F':                // ff                return formatNumStr(d.getMinutes())            case 's':                // s                return d.getSeconds()            case 'S':                // ss                return formatNumStr(d.getSeconds())        }    })}