vue获取后台的时间数据时,服务器端返回的时间大多时候都是毫秒类型,这样是非常不美观的,如下图所示。
因此我们可以设定一个全局的时间过滤器来美化时间的显示形式。
1.首先,我们现在main.js中定义一个全局的过滤器
// originVal 后台返回的毫秒
Vue.filter('dataFormat', originVal => {
const dt = new Date(originVal)
const y = dt.getFullYear()
const m = (dt.getMonth() + 1 + '').padStart(2, '0')
const d = (dt.getDate() + '').padStart(2, '0')
const hh = (dt.getHours() + '').padStart(2, '0')
const mm = (dt.getMinutes() + '').padStart(2, '0')
const ss = (dt.getSeconds() + '').padStart(2, '0')
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})
2.然后在相应的地方使用插槽的形式,再使用过滤器
<template slot-scope='scope'>
{{ scope.row.create_time | dataFormat }}
</template>
3.执行上述步骤后,我们的时间会变成下面这种形式