vue3关于时间显示格式化的问题
作者:漂亮小咪
这篇文章主要介绍了vue3关于时间显示格式化的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue3时间显示格式化
vue3为什么删除filter(过滤器)
其实原因就是vue3要精简代码
而filter功能重复,filter能实现的功能
用methods和computed方法基本上也可以实现
所以关于filter的vue源代码就被删除了,也更加方便维护
vue2的时间格式化
先引用useDateFormat
vue3的时间格式化
vueuse
在这里插入代码片
<template>
<!-- 显示 -->
<div>{{create_time}}</div>
</template>
```<script>
import { useDateFormat } from '@vueuse/core'
export default {
data(){
return{
//需要格式化的时间
create_time:' '
}
},
created() {
},
methods:{
//请求过来的数据
this.create_time = useDateFormat(这里写你要格式化的时间例如:res.data.goods.create_time,'YYYY-MM-DD')
//可以格式化
/*YYYY-MM-DD HH:mm:ss
YYYY年MM月DD日
YYYY年MM月DD日 HH时mm分ss秒
*/
}
}
</script>vue3如何处理时间格式
在Vue3中处理时间格式,有几种方式:
使用过去运算符 |
Vue3新增的过去运算符可以简单格式化时间。
例如:
<p>{{ 2021-10-10 | date }}</p>
<p>{{ 2021-10-10 | time }}</p>
<p>{{ 2021-10-10 | datetime }}</p>渲染:
10/10/2021
10:00:00
10/10/2021 10:00:00
使用 DateTimeFormat
Vue3支持直接使用 Intl.DateTimeFormat 格式化时间。
例如:
const df = new Intl.DateTimeFormat('en', {
year: 'numeric',
month: 'long',
day: 'numeric'
})
new Vue({
template: '<p>{{ date }}</p>',
computed: {
date() {
return df.format(new Date(2021, 9, 10))
}
}
}) 这会渲染:
October 10, 2021
使用第三方库
可以使用 date-fns 等第三方库格式化时间。
例如:
import { format } from 'date-fns'
new Vue({
template: '<p>{{ date }}</p>',
computed: {
date() {
return format(new Date(2021, 9, 10), 'MMM dd, yyyy')
}
}
})这也会渲染:October 10, 2021所以,在 Vue3中主要的处理时间格式化的方式是:
1.使用内置的 | 过去运算符
2.直接调用 Intl.DateTimeFormat
3.使用第三方库如 date-fns与 Vue 2 相比,Vue 3 简化了时间格式化,内置支持更丰富的格式化功能,也更好的支持现代环境的 API 如 Intl。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
