1.函数封装es6
//时间戳转换
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里面引入,而且全局注册bash
import * as custom from '@/utils/filters'
// 全局注册
Object.keys(custom).forEach(key => { Vue.filter(key, custom[key])})复制代码
3.页面引用函数
<el-table-column align="center" label="时间">
<template slot-scope="scope">{{ scope.row.time | dateFilter }}
</template></el-table-column>复制代码
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;
};复制代码