美文网首页
时间公共方法

时间公共方法

作者: 璇璇璇璇璇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