vue 日期格式化过滤器
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组件中引入:
1 import {formateDate} from ... 2 3 1 filters: { 4 2 formateDate(time){ 5 3 let date = new Date(time); 6 4 return formateDate(date, 'yyyy-MM-dd hh:mm'); 7 5 } 8 6 }