vue時間轉換的幾種方式
VUE 時間轉換
做一個項目肯定會關系到很多的數(shù)據(jù)類型,數(shù)據(jù)類型之間都是可以轉化的,,前端有時候從后端拿到的時間不符合標準,此時就需要轉換以后再去使用,轉換有兩種方式,看你個人比較喜歡哪一種。這里已時間轉換為例子
過濾器filter
全局過濾器
在main.js寫入
// 時間戳過濾器
Vue.filter('dateFormat', (dataStr) => {
var time = new Date(dataStr)
function timeAdd0 (str) {
if (str < 10) {
str = '0' + str
}
return str
}
var y = time.getFullYear()
var m = time.getMonth() + 1
var d = time.getDate()
var h = time.getHours()
var mm = time.getMinutes()
var s = time.getSeconds()
return y + '-' + timeAdd0(m) + '-' + timeAdd0(d) + ' ' + timeAdd0(h) + ':' + timeAdd0(mm) + ':' + timeAdd0(s)
})
此時時間戳details.createTime就會變成Vue.filter的參數(shù)dataStr進行運算
局部過濾器
在vue單文件中,有filters屬性,和周期函數(shù)并列,
注意,此時是filters不是filter局部一般比全局多一個s,比如components的全局和局部的區(qū)別是一樣的
created(){
},
filters:{
dateFormat:function(dataStr){
var time = new Date(dataStr)
function timeAdd0 (str) {
if (str < 10) {
str = '0' + str
}
return str
}
var y = time.getFullYear()
var m = time.getMonth() + 1
var d = time.getDate()
var h = time.getHours()
var mm = time.getMinutes()
var s = time.getSeconds()
return y + '-' + timeAdd0(m) + '-' + timeAdd0(d) + ' ' + timeAdd0(h) + ':' + timeAdd0(mm) + ':' + timeAdd0(s)
}
},
使用
使用方式全局和局部都是一樣的,我們只需要在過濾的數(shù)據(jù)后面加上 | 就行
<span>發(fā)布時間:{{details.createTime|dateFormat}}</span>
JS引用轉換
在utils文件中建一個js,用于時間轉換
export function tempToData(unixtimestamp2) {
var unixtimestamp = new Date(unixtimestamp2)
var year = 1900 + unixtimestamp.getYear()
var month = '0' + (unixtimestamp.getMonth() + 1)
var date = '0' + unixtimestamp.getDate()
var hour = '0' + unixtimestamp.getHours()
var minute = '0' + unixtimestamp.getMinutes()
var second = '0' + unixtimestamp.getSeconds()
return year + '-' + month.substring(month.length - 2, month.length) + '-' + date.substring(date.length - 2, date.length) +
' ' + hour.substring(hour.length - 2, hour.length) + ':' +
minute.substring(minute.length - 2, minute.length) + ':' +
second.substring(second.length - 2, second.length)
}
此時我們使用的時候,只要把js引用,在使用就行
全局引用
在main.js引用就行
import { tempToData } from '@/utils/DataUtils'
局部引用
在對應的vue文件中引用
import { tempToData } from '@/utils/DataUtils'
使用方式
<span>{{ mTempToData(details.createTime) }}</span>
總結
兩種方式各有千秋,但是我個人比較喜歡過濾器filter的使用,在學習過程中要學會舉一反三
更多關于vue時間轉換的方式請查看下面的相關鏈接
相關文章
vue3結合typescript中使用class封裝axios
這篇文章主要為大家介紹了vue3結合typescript中使用class封裝axios實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
element ui的el-input-number修改數(shù)值失效的問題及解決
這篇文章主要介紹了element ui的el-input-number修改數(shù)值失效的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05

