在utils下写一个timeconvert.js
function timestampToTime(timestamp) {
var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = date.getDate() + ' ';
var h = date.getHours() + ':';
var m = date.getMinutes() + ':';
var s = date.getSeconds();
return Y+M+D+h+m+s;
}
function elapseTime(time){
var date3=new Date(time*1000);
//计算出相差天数
var days=Math.floor(date3/(24*3600*1000))
var leave1=date3%(24*3600*1000) //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000))
//计算相差分钟数
var leave2=leave1%(3600*1000) //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000))
//计算相差秒数
var leave3=leave2%(60*1000) //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000)
return (days+" day "+hours+" h "+minutes+" m "+seconds+" s") ;
}
export{
timestampToTime,
elapseTime
}
然后在vue里
import {timestampToTime,elapseTime} from '@/utils/timeConvert.js' //注意方法要加{}
然后写到局部的过滤器里
filters:{
timestampToTime:function(time){
return timestampToTime(time);
},
elapseTime:function(time){
return elapseTime(time);
}
},
<el-table-column prop="started" label="startDate" >
<template slot-scope="scope">
{{scope.row.started|timestampToTime}}
</template>
</el-table-column>