1.函数封装
//时间戳转换
export function dateFilter(time) {
if (!time) {
// 当时间是null或者无效格式时我们返回空
return ''
} else {
const date = new Date(time) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
const dateNumFun = (num) => num < 10 ? `0${num}` : num // 使用箭头函数和三目运算以及es6字符串的简单操作。因为只有一个操作不需要{} ,目的就是数字小于10,例如9那么就加上一个0,变成09,否则就返回本身。 // 这是es6的解构赋值。
const [Y, M, D, h, m, s] = [
date.getFullYear(),
dateNumFun(date.getMonth() + 1),
dateNumFun(date.getDate()),
dateNumFun(date.getHours()),
dateNumFun(date.getMinutes()),
dateNumFun(date.getSeconds())
]
return `${Y}-${M}-${D} ${h}:${m}:${s}` // 一定要注意是反引号,否则无效。
}
}
//导出方法
export default { dateFilter }
复制代码
2.在main.js里面引入,并且全局注册
import * as custom from '@/utils/filters'
// 全局注册
Object.keys(custom).forEach(key => { Vue.filter(key, custom[key])})
复制代码
3.页面引用
{{ scope.row.time | dateFilter }}
复制代码
时间戳转日期
export function dateFilter (timestamp) {
function zero(time) {
return time < 10 ? '0' + time : time
}
var date = new Date(Number(timestamp) * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = zero(date.getDate()) + ' ';
let h = zero(date.getHours()) + ':';
let m = zero(date.getMinutes()) + ':';
let s = zero(date.getSeconds());
return Y + M + D + h + m + s;
};
复制代码
求个赞呗!