您的位置:首页技术文章
文章详情页

vue开发之moment的介绍与使用

浏览:9日期:2022-09-29 16:55:29
前言

在日常开发中,我们常常会遇到以下几种场景:

需要对日期进行非标准格式展示,如 :2021年5月11日星期二下午6点42分需要对日期进行处理,如:要取前24小时的时间 等

在这时候用js原生的new Date()处理就有些麻烦了,因此我们找到了moment这个类库

一、moment是什么?

moment 是一个 JavaScript 日期处理类库。

安装 moment

如果之前安装过就不用再安装了。

npm install moment -- save

注:以下所有时间相对于现在时间:2021/05/11/18:42 星期二

1.日期格式化:

moment().format(’MMMM Do YYYY, h:mm:ss a’); // 五月 11日 2021, 6:42:31 下午moment().format(’dddd’); // 星期二moment().format('MMM Do YY'); // 5月 11日 21moment().format(’YYYY [escaped] YYYY’); // 2021 escaped 2021moment().format(); //2021-05-11T18:06:42+08:00

2.相对时间:

moment('20111031', 'YYYYMMDD').fromNow(); // 2011/10/31号相对于现在是: 10 年前moment('20120620', 'YYYYMMDD').fromNow(); // 2012/06/20号相对于现在是: 9 年前moment().startOf(’day’).fromNow(); //当前日期开始即:2021/05/11/00:00:00相对于现在是: 19 小时前moment().endOf(’day’).fromNow(); //当前日期结束即:2021/05/11/24:00:00相对于现在是: 5 小时内moment().startOf(’hour’).fromNow(); //当前日期小时开始即:2021/05/11/18:00:00相对于现在是: 42分钟前

3.日历时间:

moment().subtract(10, ’days’).calendar(); // 当前时间往前推10天的日历时间: 2021/05/01moment().subtract(6, ’days’).calendar(); // 当前时间往前推6天: 上星期三18:42moment().subtract(3, ’days’).calendar(); // 当前时间往前推3天: 上星期六18:42moment().subtract(1, ’days’).calendar(); // 当前时间往前推1天: 昨天18:42moment().calendar(); // 今天18:42moment().add(1, ’days’).calendar(); // 当前时间往后推1天: 明天18:42moment().add(3, ’days’).calendar(); // 当前时间往后推3天: 下星期五18:42moment().add(10, ’days’).calendar(); // 当前时间往后推10天: 2021/05/21

4.多语言支持:

moment.locale(); // zh-cnmoment().format(’LT’); // 18:42moment().format(’LTS’); // 18:42:31moment().format(’L’); // 2021/05/11moment().format(’l’); // 2021/5/11moment().format(’LL’); // 2021年5月11日moment().format(’ll’); // 2021年5月11日moment().format(’LLL’); // 2021年5月11日下午6点42分moment().format(’lll’); // 2021年5月11日 18:42moment().format(’LLLL’); // 2021年5月11日星期二下午6点42分moment().format(’llll’); // 2021年5月11日星期二 18:42二、使用步骤(例:默认查询时间24小时之前~当前时间)

1.引入库

$ npm install moment --save

2.在main.js中全局引入(也可单独在使用的文件中引入,具体看需求)

import moment from 'moment'Vue.prototype.$moment = moment;

3.在需要使用日期的地方使用

HTML中:

<el-date-picker v-model='timeRange'type='datetimerange'range-separator='至'start-placeholder='开始日期'end-placeholder='结束日期'> </el-date-picker>

JS中:

data() { return { timeRange:[], } }, mounted(){let start = this.$moment() .subtract(’1’, ’d’) .format(’YYYY-MM-DD HH:mm:ss’) //当前时间往前推1天(24小时):2021-05-10 18:42:53let end = this.$moment().format(’YYYY-MM-DD HH:mm:ss’) //当前时间:2021-05-11 18:42:53this.timeRange=[start,end] }, 三、日期格式格式 含义 举例 备注 yyyy 年 2021 同YYYY M 月 1 不补0 MM 月 01d 日 2 不补0 dd 日 02dddd 星期 星期二H 小时 3 24小时制;不补0 HH 小时 18 24小时制 h 小时 3 12小时制,须和 A 或 a 使用;不补0 hh 小时 03 12小时制,须和 A 或 a 使用 m 分钟 4 不补0 mm 分钟 04s 秒 5 不补0 ss 秒 05A AM/PM AM 仅 format 可用,大写 a am/pm am 仅 format 可用,小写

具体方法以及参数可详见moment官方文档

四、new Date() 相关

日期都写这么多了,那new Date()也一起总结下吧

let time = new Date(); //获取当前时间 Tue May 11 2021 18:42:51 GMT+0800 (中国标准时间) let year = time.getFullYear(); //获取年 2021 let month = time.getMonth() + 1; //获取月 5 let day = time.getDate(); //获取天 11 let h = time.getHours(); //获取小时 18 let m = time.getMinutes(); //获取分钟 42 let s = time.getSeconds(); //获取秒 51 let weekDay = time.getDay(); //获取星期 2总结

到此这篇关于vue开发之moment的介绍与使用的文章就介绍到这了,更多相关vue moment使用内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Vue
相关文章: