moment.js时间格式化插件使用

moment.js插件常用api备忘

moment.js插件功能远不不仅仅是在格式化日期上,还是有很多很好用奇淫技巧,使用起来也是更加方便,主要在vue项目中使用偏多,,但是有时候也不是总使用,将一些项目中可能会用,可以节省代码的api在此记录备忘一下



1、引入

官网地址:Moment.js

1.1 安装
npm install moment --save 

使用的组件文件中导入

import moment from 'moment'

格式化使用的默认语言格式使用中文
就在导入插件的位置再导入一行:moment.locale(‘zh-cn’)即可

import moment from 'moment'
moment.locale('zh-cn')

或者

import moment from 'moment'
moment.lang('zh-cn'
1.2 基本使用

当前日期格式化

moment().format('YYYY-MM-DD HH:mm:ss')

输出:
2024-07-30 13:30:16

1.3 说明

日期格式化中,字母代表

  • y : (year)年
  • m:(month)月
  • d :(day)日
  • h :(hour)时
  • m:(minute)分
  • s : (second)秒
1.3.1 【 大小写】

大写是位数确定,不够的使用0来进行补位,以年示例:

console.log('时间格式化:', moment('1970').format('YY'))

时间格式化: 70

console.log('时间格式化:', moment('1').format('YY'))

时间格式化: 01

其中一个"Y"表示自然生长,首位不为零,但是超过9999时,会多一个+号,主要是符合ios标准,即:
1970 1971 … 9999 +10001 10001
所以大写的位数可以很多种:Y , YY , YYYY , YYYYYY
常用格式:YYYY
小写只有一种写法:‘y’,用法基本与Y相同,只有超过9999的时候,y是正常显示,没有+号

console.log('时间格式化:', moment('10001').format('y'))

时间格式化: 10001

常用格式罗列说明:

【第一种】

moment().format('YYYY年MM月DD日 HH:mm:ss')

时间格式化: 2024年07月30日 13:57:39

【第二种】

moment().format('YYYY-MM-DD HH:mm:ss')

时间格式化: 2024-07-30 13:57:57

【第三种】

moment().format('YYYY/MM/DD HH:mm:ss')

时间格式化: 2024/07/30 13:58:26

项目中主要使用elementUI的时间日期选择插件,所以第二种的方式用的比较多

2、场景使用api

按照业务需求角度来记录api

2.1 近七日、近6个月场景

【业务描述】:页面场景中一些列表查询、图表展示需要一些时间快捷选项,比如,近七日、近六个月、近三年等等,
在这里插入图片描述
【实现分析】:这个接口传参时间上肯定分两部分,开始时间、结束时间。
结束时间:当前时间,
开始时间: 当前时间 - 7*24小时

【moment插件快捷语法】:
关键词:subtract(减)
七天前的时间:

moment().subtract(7, 'days').format('YYYY-MM-DD HH:mm:ss')

时间格式化: 2024-07-23 14:17:37(当前7-30)

================

同样,加的方法:add

 moment().add(7, 'days').format('YYYY-MM-DD HH:mm:ss')

时间格式化: 2024-08-06 14:23:02

【语法说明】
invalid.subtract(value, unit),
第一个参数是数值
第二个参数是单位:全称:简写
years y
months M
weeks w
days d
hours h
minutes m
seconds s
milliseconds ms
也可以多个参数,使用对象的方式:

 moment().subtract({hours: 23, minutes: 59, seconds: 59})

当前时间减去23小时59分59秒,
add语法同理

2.2 其他api罗列示例

2.2.1 根据时间戳格式化时间:
moment(1318781876406).format('YYYY-MM-DD HH:mm:ss')

时间格式化: 2011-10-17 00:17:56

2.2.2 格式化日期为数组格式:
moment([2010, 1, 14, 15, 25, 50]).format('YYYY-MM-DD HH:mm:ss')

时间格式化: 2010-02-14 15:25:50

2.2.3 获取年月日时分秒单个值:
moment().year()
moment().month()
moment().date()//日
moment().hour()
moment().minute()
moment().second()
moment().day()//星期几
moment().dayOfYear()//目前一年中的地多少天
moment().quarter()//现在过了几刻钟

相对应(年月日时分秒)的get方法:

moment().get('year');
moment().get('month');  // 0 to 11
moment().get('date');
moment().get('hour');
moment().get('minute');
moment().get('second');
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值