对时间戳进行格式化
1.准备工作
1.引入第三方库
2.进入Bootcdn官网链接地址
3.搜索dayjs,并下载相关js文件

4.将下载的js文件放在要创建的项目下
5.创建项目时,最先引入dayjs文件
6.若使用中有疑问,访问dayjs的说明文档地址
2.普通函数对时间戳进行格式化
<div id="app">
<p>更改前:{{first}}</p>
<p>更改后:{{last}}</p>
<button @click="transform()">转换后</button>
</div>
<script>
const vm = new Vue({
el:'#app',
data:{
first:Date.now(),
last:''
},
methods:{
transform(){
this.last=dayjs().format('YYYY-MM-DD HH:mm:ss')
}
}
})
</script>
结果图

3.使用filter对时间戳进行格式化
关键语句:dayjs(时间戳).format('YYYY-MM-DD')
<div id="app">
<p>转换前:{{first}}</p>
<p>转换后:{{first | timeFormat}}</p>
<!-- 格式 {{时间戳 | 格式转换函数}} -->
</div>
<script>
const vm = new Vue({
el:'#app',
data:{
first:Date.now(),
},
filters:{
timeFormat(val){
//这个val的值是由first传入
return dayjs(val).format('YYYY-MM-DD HH:mm:ss')
}
}
})
</script>
效果图

3.1当转换函数有参数时
<div id="app">
<p>转换前:{{first}}</p>
<p>转换后:{{first | timeFormat('YYYY-MM-DD') }}</p>
</div>
<script>
const vm = new Vue({
el:'#app',
data:{
first:Date.now(),
},
filters:{
timeFormat(val,arr){
//val指的是first时间戳
//arr指的是'YYYY-MM-DD'
return dayjs(val).format(arr)
}
}
})
</script>
效果图

3.2多个转换函数对时间戳的格式化
<body>
<div id="app">
<p>转换前:{{first}}</p>
<p>转换后:{{first | timeFormat('YYYY-MM-DD') | myslice}}</p>
</div>
<script>
const vm = new Vue({
el:'#app',
data:{
first:Date.now(),
},
filters:{
timeFormat(val,arr){
return dayjs(val).format(arr)
},
myslice(val){
return val.slice(0,4)
//slice(start,end) 从start开始不包含end
}
}
})
</script>
</body>
3.2.1配置全局过滤器
核心代码: Vue.filter('myslice',function(val){ return val.slice(0,4) })
<body>
<div id="app">
<p>转换前:{{first}}</p>
<p>转换后:{{first | timeFormat('YYYY-MM-DD') | myslice}}</p>
</div>
<script>
Vue.filter('myslice',function(val){
return val.slice(0,4)
})
//配置全局过滤器
const vm = new Vue({
el:'#app',
data:{
first:Date.now(),
},
filters:{
timeFormat(val,arr){
return dayjs(val).format(arr)
},
// myslice(val){
// return val.slice(0,4)
// //slice(start,end) 从start开始不包含end
// }
}
})
</script>
</body>
总结
定义:对要显示的数据进行特定格式化后再显示
语法:
1.注册过滤器:Vue.filter(name,callback)或new Vue{filters:{}}
2.使用过滤器:{{ 时间戳 | 过滤器名}}或v-band:属性=“时间戳 | 过滤器名”
备注:
1.过滤器也可以接收额外参数,多个过滤器可以串联
2.并没有改变原有的数据,是产生新的对应数据