由于后台给到的时间格式是这样的:022-03-03T14:26:55+08:00
而我需要的格式是这样的:YYYY-MM-dd HH:mm
那么就需要前端去进行处理成我们需要的格式
为了达到复用性,直接挂载在全局,可以的选择在src目录下新建一个js文件,我是挂载到了utils公共文件工具下(文件名称自己定如:format.js),
代码如下:
import Vue from 'vue'
Vue.filter('dateTime', function (date, type) {
if (date != null && date != "") {
let yer,
month,
day,
HH,
mm,
ss,
timeDate
let time = new Date(date)
yer = time.getFullYear()
month = time.getMonth() + 1
day = time.getDate()
HH = time.getHours() //获取系统时,
mm = time.getMinutes() //分
ss = time.getSeconds() //秒
month = (month < 10) ? ('0' + month) : month
day = (day < 10) ? ('0' + day) : day
HH = (HH < 10) ? ('0' + HH) : HH
mm = (mm < 10) ? ('0' + mm) : mm
ss = (ss < 10) ? ('0' + ss) : ss
switch (type) {
case 'yyyy':
timeDate = String(yer)
break
case 'yyyy-MM':
timeDate = yer + '-' + month
break
case 'yyyy-MM-dd':
timeDate = yer + '-' + month + '-' + day
break
case 'yyyy/MM/dd':
timeDate = yer + '/' + month + '/' + day
break
case 'yyyy-MM-dd HH:mm:ss':
timeDate = yer + '-' + month + '-' + day + ' ' + HH + ':' + mm + ':' + ss
break
case 'HH:mm:ss':
timeDate = HH + ':' + mm + ':' + ss
break
case 'MM':
timeDate = String(month)
break
case 'yyyy-MM-dd HH:mm' :
timeDate = yer + '-' + month + '-' + day + ' ' + HH + ':' + mm
break
default:
timeDate = yer + '-' + month + '-' + day
break
}
return timeDate
} else {
return ''
}
})
然后在main.js下引入,挂载到全局作用域下
import '../src/utils/format' // 时间处理方法
项目中直接这样用:
scope.row.create_time | dateTime('yyyy-MM-dd HH:mm')
如果需要不同的格式,只需要在format.js文件内修改自己需要的类型即可