js时间日期格式化工具函数,兼容时间戳格式

196次阅读
没有评论

js时间格式化工具函数,好像是从别人那里扒出来的,改了改兼容时间戳,做个记录。

export default {
    /**
    * @Desc : 时间格式化工具
    * @params {
    *  v: Date|string|Number 
    *  format: 'yyyy-MM-dd h:m:s'|'yyyy-MM-dd'|...
    * }
    * @return string
    * */ 
    formatTime(v=0, format='yyyy-MM-dd h:m:s'){
        var ms;
        if(typeof v === 'number'){
            v = new Date(v);
        }

        if (!v) return "";

        var d = v;
        if (typeof v === 'string') {
            if (v.indexOf("/Date(") > -1)
                d = new Date(parseInt(v.replace("/Date(", "").replace(")/", ""), 10));
            else
                //.split(".")[0] 用来处理出现毫秒的情况,截取掉.xxx,否则会出错
                var spl = v.replace(/-/g, "/").replace("T", " ").split(".")[0];
                ms = spl[1];
                d = new Date(ms);
        }

        var o = {
            "M+": d.getMonth() + 1, //month
            "d+": d.getDate(), //day
            "h+": d.getHours(), //hour
            "m+": d.getMinutes(), //minute
            "s+": d.getSeconds(), //second
            "q+": Math.floor((d.getMonth() + 3) / 3), //quarter
            "S": d.getMilliseconds() //millisecond
        };

        if (/(y+)/.test(format)) {
            format = format.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
        }

        for (var k in o) {
            if (new RegExp("(" + k + ")").test(format)) {
                format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
            }
        }

        return format;
    }
}

 

facingscreen
版权声明:本站原创文章,由 facingscreen2022-04-19发表,共计995字。
转载说明:本文为搜栈网原创文章,除特殊说明外皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码