formateDate日期格式化,写在公共的js中:
export function formateDate(date, fmt){
if ('/(y+)/'.test(fmt){
fmt = fmt.replace(RegExp.$1, (date.getFullYear()+'').substr(4-RegExp.$1.length));
}
let obj = {
'M+': date.getMonth()+1,
'd+': date.getDate(),
'h+': date,getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
};
for (let k in obj){
if(new RegExp(`(${k}`).test(fmt)){
let str = obj[k] + '';
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str:padLeftZero(str));
}
}
return fmt;
} //padLeftZero: 在数字前面补0,如月份为9,则显示09:
function padLeftZero(str){
return ('00'+str).substr(str.length);
}
在需要引用formateDate方法的vue组件中引入:
import {formateDate} from ... 1 filters: {
2 formateDate(time){
3 let date = new Date(time);
4 return formateDate(date, 'yyyy-MM-dd hh:mm');
5 }
6 }