Vue项目如何安装使用moment.js

本文介绍了在Vue项目中如何安装和使用moment.js进行日期操作,包括安装步骤、导入方式以及如何获取本季度、上个季度、本周、上周、本年、去年、今天、昨天等特定日期范围的方法。同时,还展示了如何获取某日期前一天和后一天以及当前月份第一天和最后一天的日期。

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

Vue项目如何安装使用moment.js

1、什么是moment.js

它是一个简单易用的轻量级Javascript日期处理类库,提供了日期格式化、日期解析等功能,且支持在浏览器和NodeJS两种环境中运行

2、Vue项目中安装

npm install moment --save

3、导入

在main.js中导入该组件
import moment from 'moment'//导入文件
moment.locale('zh-cn');//需要汉化
Vue.prototype.$moment = moment;//赋值使用

4、用法

this.moment()

本季度

const  start = moment().startOf('quarter').format('YYYY-MM-DD')   // 开始
const end = moment().endOf('quarter').format('YYYY-MM-DD')   // 结束

上个季度

const start = moment().quarter(moment().quarter() - 1).startOf('quarter').format('YYYY-MM-DD')
const end = moment().quarter(moment().quarter() - 1).endOf('quarter').format('YYYY-MM-DD')

本周

const start = moment().startOf('week') .add(1, 'day').format('YYYY-MM-DD HH:mm:ss')
const end = moment().endOf('week').add(1, 'day').format('YYYY-MM-DD HH:mm:ss')

上周

const start = moment().subtract(weekOfDay + 7 - 1, 'days') .format('YYYY-MM-DD')
const end  = moment().subtract(weekOfDay, 'days') .format('YYYY-MM-DD')

本年

const start = moment() .year(moment().year()) .startOf('year') .format('YYYY-MM-DD')
const end = moment() .year(moment().year())  .endOf('year').format('YYYY-MM-DD')

去年
 

const start = moment().year(moment().year() - 1).startOf('year') .format('YYYY-MM-DD')
const end = moment() .year(moment().year() - 1) .endOf('year') .format('YYYY-MM-DD')

今天

const start=moment().startOf('day').format('YYYY-MM-DD HH:mm:ss')
const end=moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')

昨天

const start= moment().subtract('days',1).startOf('days').format('YYYY-MM-DD HH:mm:ss')
const end=moment().subtract('days',1).endOf('days').format('YYYY-MM-DD HH:mm:ss')

某一日期前一天后一天

starttime = moment(starttime).subtract(1,"days").format("YYYY-MM-DD");//前一天
endtime = moment(endtime).add(1,"days").format("YYYY-MM-DD");//后一天

当前月份的第一天&最后一天

moment().startOf('month').format("YYYY-MM-DD")
moment().endOf('month').format("YYYY-MM-DD"),


 

### 集成和使用 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、付费专栏及课程。

余额充值