vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue3时间显示格式化

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。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文