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;
}
}