日期格式化插件dayjs在vue中如何使用

1. 下载dayjs

cnpm install dayjs --save

2. 创建untils/formate.js

import dayjs from 'dayjs'
import rTime from 'dayjs/plugin/relativeTime'

// 全局使用中文
dayjs.locale('zh-cn')

// 对时间进行格式化
export function formatTime(data = new Date(), type = 'YYYY-MM-DD') {
  return dayjs(data).format(type)
}

// 其它例如相对时间,需要单独配置它自己的插件才可以使用
dayjs.extend(rTime)

export const relativeTime = value => {
  return dayjs().to(dayjs(value))
}

export default {
  formatTime,
  relativeTime
}

3. 挂在全局,封装过滤器,main.js


import { formatTime, relativeTime } from './utils/formate'

Vue.prototype.$formatTime = formatTime
Vue.prototype.$relativeTime = relativeTime

// 过滤器
Vue.filter('relativeTime', relativeTime)
Vue.filter('formatTime', formatTime)

4. 在js环境中使用

this.$formatTime(new Date(),'YYYY-MM-DD')

5. 在vue模板中使用过滤器

 {{new Date()|formatTime}}
 {{new Date('2022-01-01')|relativeTime}}

### Vue.js日期时间格式化的方法 在 Vue.js 应用程序中处理日期和时间的格式化可以借助 `dayjs` 这样的轻量级库来实现。通过安装并引入该库,能够方便快捷地完成各种复杂的日期操作。 #### 安装与引入 为了使用 `dayjs` 插件,在项目根目录下执行 npm 命令进行安装: ```bash npm install dayjs --save ``` 接着,在单页面组件或者全局配置文件里引入 `dayjs`: ```javascript import dayjs, { Dayjs } from 'dayjs'; ``` 这一步骤确保了可以在整个应用程序范围内访问到 `dayjs` 的功能[^1]。 #### 实现日期格式化 对于具体的日期格式化需求,比如想要得到形如 “YYYY-MM-DD dddd hh:mm:ss” 格式的字符串表示当前时刻,则可以直接调用 `dayjs()` 函数,并传入 `.format()` 方法指定所需的模式串: ```javascript // 返回类似 "2023-09-04 星期一 02:19:30" 的字符串 const nowFormatted = dayjs().format('YYYY-MM-DD dddd HH:mm:ss'); console.log(nowFormatted); ``` 注意这里的小时部分用了大写的 `HH` 来代表24小时制的时间显示方式;如果希望采用12小时制加上 AM/PM 后缀的话,则应改为小写字母 `hh` 并额外添加 `A` 或者 `a` 参数用于区分上午下午。 #### 组件内部集成 当涉及到实际开发中的模板渲染时,可以通过定义计算属性或方法的方式把上述逻辑封装起来供视图层调用。例如下面这段代码展示了如何在一个简单的 Vue 单文件组件(SFC)里面利用 `$formatDate` 自定义指令来进行日期展示: ```html <template> <div>{{ $formatDate(new Date()) }}</div> </template> <script> export default { methods: { formatDate(date) { return dayjs(date).format('YYYY-MM-DD dddd HH:mm:ss'); } }, created() { this.$options.filters.formatDate = (date) => this.formatDate(date); } }; </script> ``` 这样不仅实现了预期的功能效果——即以特定样式呈现最新时间戳给用户查看,同时也遵循了良好的编码实践原则,提高了代码可读性和维护性[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值