核心提示:一、使用自定义js的正则表达式//页面上调用过滤器(页面上){{date | formatDate}}//创建过滤器(new Vue()中)filters: { /* 时间过滤器 */formatDa...
一、使用自定义js的正则表达式
//页面上调用过滤器(页面上)
{{date | formatDate}}
//创建过滤器(new Vue()中)
filters: { /* 时间过滤器 */ formatDate(time) { var date = new Date(time); return formatDate(date, "yyyy-MM-dd HH:mm:ss"); } },
//自定义时间的正则表达式(date.js)
function formatDate(date, fmt) { if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); } let o = { 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'H+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds() }; for (let k in o) { if (new RegExp(`(${k})`).test(fmt)) { let str = o[k] + ''; fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str)); } } return fmt; }; function padLeftZero(str) { return ('00' + str).substr(str.length); }
二、在vue过滤器中创建时间格式
filters: { data:function (input) { var date = new Date(input); var year = d.getFullYear(); var month = d.getMonth() + 1; var day = date.getDate() <10 ? '0' + date.getDate() : '' + date.getDate(); var hour = date.getHours(); var minutes = date.getMinutes(); var seconds = date.getSeconds(); return year+ '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds; }