vue引入外部js方法过滤时间戳

在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>

猜你喜欢

转载自blog.csdn.net/weixin_36869329/article/details/82152330