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。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。