Vue项目中使用moment.js

本文介绍了如何在Vue项目中集成和使用moment.js。首先,提供了moment.js的官网链接,然后指导通过vue ui安装依赖,并在项目src目录下创建dependences目录及配置moment.js。接着说明在main.js中导入moment.js,并创建一个MomentDemo.vue组件来展示使用示例。建议详细使用参照官方文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

moment.js官网地址

http://momentjs.cn

安装依赖

打开命令行,输入vue ui,打开可视化界面

依赖>安装依赖>运行依赖>moment
在这里插入图片描述

配置插件

在项目src目录下,新建dependences目录,新建moment.js

import Vue from 'vue'
import moment from 'moment'

// 设置本地时区
moment.locale('zh-cn')
Vue.prototype.$moment = moment

在main.js中导入moment.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
// 导入moment.js
import './dependences/moment.js'

Vue.config.productionTip = false

new Vue({
   
  router,
  render: h => h(App)
}).$mount('#app')

使用

新建一个MomentDemo.vue

<template>
  <div>
    <el-button @click="test">test</el-button>
  </div>
</template>

<script>
export default {
   
  methods: {
   
    test() {
   
      // 获取当前时间输出
      console.log(this.$moment().toDate())

      // 获取当前时间,并格式化输出
      console.log(this.$moment().format('YYYY-MM-DD HH:mm:ss'))

      // 时间相减
      console.log(this.$moment().subtract(1, 'year').format('YYYY-MM-DD HH:mm:ss'))
      console.log(this.$moment().subtract(1, 'months'
### 集成和使用 Moment.jsVue 3 中 #### 安装 Moment.js 为了在 Vue 3 项目中利用 Moment.js 处理日期时间,首先需要安装该库。可以通过 npm 或 yarn 来完成这一步骤。 ```bash npm install moment --save ``` 或者如果偏好使用 yarn: ```bash yarn add moment ``` 此命令会在项目的依赖项中加入 Moment.js 库[^1]。 #### 引入并配置 Moment.js 接着,在 `main.js` 文件里引入 Moment.js 并将其挂载到 Vue 实例上以便于在整个应用范围内访问。 ```javascript import { createApp } from 'vue'; import App from './App.vue'; import moment from 'moment'; const app = createApp(App); app.config.globalProperties.$moment = moment; export const vm = app.mount('#app'); ``` 这段代码确保了可以在任何组件内通过 `this.$moment()` 访问 Moment.js 方法[^3]。 对于组合式 API (Composition API),可以创建一个自定义钩子来提供相同的功能: ```typescript import { inject, InjectionKey, provide } from "vue"; import moment from "moment"; interface Moment { (): typeof moment; } const key: InjectionKey<Moment> = Symbol(); function useMoment(): typeof moment { return inject(key) as any; } provide(key, () => moment); export default useMoment; ``` 这样就可以在 setup 函数内部调用 `useMoment()` 获取当前实例下的 Moment 对象[^4]。 #### 组件内的使用案例 下面展示了一个简单的例子说明如何在一个列表渲染场景下格式化显示每条记录的时间戳。 ```html <template> <ul> <li v-for="(item, index) in items" :key="index"> 创建时间:{{ $moment(item.timestamp).format('YYYY-MM-DD HH:mm:ss') }} </li> </ul> </template> <script lang="ts"> import { defineComponent } from 'vue'; export default defineComponent({ data() { return { items: [ { timestamp: '2023-07-08T12:00:00Z' }, // 更多数据... ] }; } }); </script> ``` 上述模板中的 `$moment().format()` 就是用来将 ISO 字符串形式的时间戳转换为更易读的形式[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值