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;
};複製代碼