美文网首页
时间公共方法

时间公共方法

作者: 璇璇璇璇璇1437 | 来源:发表于2020-11-06 14:31 被阅读0次

    时间戳转日期时间

    /**
     * @author: hujingxuan
     * 时间戳转日期时间
     * @param {Number} time: 13位时间戳
     * @param {String} format: 日期时间格式,默认Y-M-D h:m:s
     * @param {Boolean} isFillZero: 是否补零,默认true 05:30 / 5:30
     * 使用方式: timestampToTime(1557285692393, 'Y-M-D h:m:s') // 2019-05-08 11:21:32
     */
    timestampToTime(time, format, isFillZero = true) {
        let timestamp = String(time).length === 10 ? time * 1000 : time;
        if (!format) format = "Y-M-D h:m:s";
        var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
        var returnArr = [];
        var date = new Date(timestamp);
        returnArr.push(date.getFullYear());
        var M = date.getMonth() + 1;
        returnArr.push(isFillZero && M < 10 ? ('0' + M) : M);
        var D = date.getDate();
        returnArr.push(isFillZero && D < 10 ? ('0' + D) : D);
        var h = date.getHours();
        returnArr.push(isFillZero && h < 10 ? ('0' + h) : h);
        var m = date.getMinutes();
        returnArr.push(isFillZero && m < 10 ? ('0' + m) : m);
        var s = date.getSeconds();
        returnArr.push(isFillZero && s < 10 ? ('0' + s) : s);
        for (var i in returnArr) {
            format = format.replace(formateArr[i], returnArr[i]);
        }
        return format;
    },
    
    

    毫秒转时分秒

    /** 
     * @author: hujingxuan
     * 毫秒转时分秒 01:10:30 / 01时10分30秒
     * @param {Number} duration: 毫秒数 4230000
     * @param {String} format: 格式,默认分号semicolon、文本text
     * @param {Boolean} isFillZero: 是否补零,默认true 05:30 / 5:30
     * 使用方式: timestampToTime(384340, 'text', false) // 6分24秒
     */
    formatDuration(duration, format='semicolon', isFillZero=true) {
        var s, m, h;
        s = Math.floor(duration / 1000);
        if (s < 60) {
            s = isFillZero && s < 10 ? ('0' + s) : s;
            if (format === 'semicolon') return isFillZero ? '00:' + s : '0:' + s;
            if (format === 'text') return s + '秒';
        } else {
            m = Math.floor(s / 60);
            s = s % 60;
            if (m < 60) {
                m = isFillZero && m < 10 ? ('0' + m) : m;
                s = isFillZero && s < 10 ? ('0' + s) : s;
                if (format === 'semicolon') return m + ':' + s;
                if (format === 'text') return m + '分' + s + '秒';
            } else {
                h = Math.floor(m / 60);
                h = isFillZero && h < 10 ? ('0' + h) : h;
                m = m % 60;
                if (format === 'semicolon') return h + ':' + m + ':' + s;
                if (format === 'text') return h + '时' + m + '分' + s + '秒';
            }
        }
    },
    

    相关文章

      网友评论

          本文标题:时间公共方法

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