方法一(在单页面中使用)
//与data() 同级 filters:{ //设置一个函数来进行过滤 formaDate:function(dateStr,pattern = ''){ let str=parseInt(dateStr.toString().padEnd(13,'0')); let dt = new Date(str); let yy = dt.getFullYear(); // ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。 let mm = (dt.getMonth() + 1).toString().padStart(2, '0'); let dd = dt.getDate().toString().padStart(2, '0'); let h = dt.getHours().toString().padStart(2, '0'); let m = dt.getMinutes().toString().padStart(2, '0'); let s = dt.getSeconds().toString().padStart(2, '0'); if (pattern.toLowerCase() === 'yyyy-mm-dd') { return yy + '-' + mm + '-' + dd } else { return yy + '-' + mm + '-' + dd + ' ' + h + ':' + m + ':' + s } }, }
使用 {{item.consult_addtime | formaDate('yyyy-mm-dd')}}
方法二(全局挂载)
1.创建js文件 filters.js
// 时间过滤器 exports.formaDate=(dateStr,pattern = '')=>{ let str=parseInt(dateStr.toString().padEnd(13,'0')); let dt = new Date(str); let yy = dt.getFullYear(); // ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。 let mm = (dt.getMonth() + 1).toString().padStart(2, '0'); let dd = dt.getDate().toString().padStart(2, '0'); let h = dt.getHours().toString().padStart(2, '0'); let m = dt.getMinutes().toString().padStart(2, '0'); let s = dt.getSeconds().toString().padStart(2, '0'); if (pattern.toLowerCase() === 'yyyy-mm-dd') { return yy + '-' + mm + '-' + dd } else { return yy + '-' + mm + '-' + dd + ' ' + h + ':' + m + ':' + s } }
2.在main.js中引入
import filters from './store/filters.js';
Object.keys(filters).forEach(k => Vue.filter(k, filters[k]));
3.使用 {{item.consult_addtime | formaDate('yyyy-mm-dd')}}