vue時間戳轉日期格式,全局過濾器

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;
};複製代碼
相關文章
相關標籤/搜索