moment.js日常使用总结

moment.js是一个JavaScript 日期处理类库,用于解析、检验、操作、以及显示日期。

 

目录

安装

挂载

 显示

1.获取当前日期(时间)

解析

1.format():将日期(时间)转换为指定格式(常用)

2.fromNow():时间间隔(相对时间)

3.toNow():时间间隔(相对时间)

操作

1.add():增加时间

 2.subtract():减去时间

3.startOf():设置为时间单位的开头

4.endOf():设置为时间单位的末尾(同上)

校验

1.isBefore(): 一个 moment 是否在另一个 moment 之前

2.isSame():一个 moment 是否与另一个 moment 相同

3.isAfter():一个 moment 是否在另一个 moment 之后

4.isSameOrBefore():一个 moment 是否在另一个 moment 之前或与之相同

5.isSameOrAfter(): 一个 moment 是否在另一个 moment 之后或与之相同

6.isBetween(): 一个 moment 是否在其他两个 moment 之间

7.isLeapYear(): 是否是闰年

地址:moment.js


安装

npm install moment --save   # npm
yarn add moment             # Yarn
Install-Package Moment.js   # NuGet
spm install moment --save   # spm
meteor add momentjs:moment  # meteor

挂载

 // 全局引入 main.js
import moment from 'moment';
Vue.prototype.$moment = moment;

// 单个文件中引入
import moment from 'moment';

 显示

1.获取当前日期(时间)

const now = moment(); // 等同于const now = moment(new Date());

输出:"2021-03-29T09:07:21.485Z"

解析

1.format():将日期(时间)转换为指定格式(常用)

// 语法:moment().format();
//      moment().format(String);
moment().format('YYYY/MM/DD');
输出:2021/03/29

moment().format('YYYY-MM-DD hh:mm:ss');
输入:2021-03-29 17:53:16
 令牌输出
月份M1 2 ... 11 12
 Mo1st 2nd ... 11th 12th
 MM01 02 ... 11 12
 MMMJan Feb ... Nov Dec
 MMMMJanuary February ... November December
季度Q1 2 3 4
 Qo1st 2nd 3rd 4th
月份的日期D1 2 ... 30 31
 Do1st 2nd ... 30th 31st
 DD01 02 ... 30 31
年份的日期DDD1 2 ... 364 365
 DDDo1st 2nd ... 364th 365th
 DDDD001 002 ... 364 365
星期几d0 1 ... 5 6
 do0th 1st ... 5th 6th
 ddSu Mo ... Fr Sa
 dddSun Mon ... Fri Sat
 ddddSunday Monday ... Friday Saturday
星期几(语言环境)e0 1 ... 5 6
星期几(ISO)E1 2 ... 6 7
年份的星期w1 2 ... 52 53
 wo1st 2nd ... 52nd 53rd
 ww01 02 ... 52 53
年份的星期(ISO)W1 2 ... 52 53
 Wo1st 2nd ... 52nd 53rd
 WW01 02 ... 52 53
年份YY70 71 ... 29 30
 YYYY1970 1971 ... 2029 2030
 Y1970 1971 ... 9999 +10000 +10001
注意:对于 9999 年以后的日期,这符合 ISO 8601 标准。
周年gg70 71 ... 29 30
 gggg1970 1971 ... 2029 2030
周年(ISO)GG70 71 ... 29 30
 GGGG1970 1971 ... 2029 2030
子午线AAM PM
 aam pm
小时H0 1 ... 22 23
 HH00 01 ... 22 23
 h1 2 ... 11 12
 hh01 02 ... 11 12
 k1 2 ... 23 24
 kk01 02 ... 23 24
分钟m0 1 ... 58 59
 mm00 01 ... 58 59
秒钟s0 1 ... 58 59
 ss00 01 ... 58 59
小数秒钟S0 1 ... 8 9
 SS00 01 ... 98 99
 SSS000 001 ... 998 999
 SSSS ... SSSSSSSSS000[0..] 001[0..] ... 998[0..] 999[0..]
时区z or zzEST CST ... MST PST
注意:从 1.6.0 版本开始,z/zz 格式的令牌已从普通的 moment 对象中弃用。 但是,如果将特定时区与 moment-timezone 插件一起使用,它们会起作用。
 Z-07:00 -06:00 ... +06:00 +07:00
 ZZ-0700 -0600 ... +0600 +0700
Unix 时间戳X1360013296
Unix 毫秒时间戳x1360013296123

2.fromNow():时间间隔(相对时间)

// 时间间隔或相对时间
// moment().fromNow();
// moment().fromNow(Boolean); // Boolean为true时则可以取到不带后缀的值
moment('2020-5-20').fromNow();     // 10 months ago
moment('2020-5-20').fromNow(true); // 10 months

3.toNow():时间间隔(相对时间)

// 与fromNow相反
// moment().toNow();
// moment().toNow(Boolean);
moment('2020-5-20').toNow();     // in 10 months
moment('2020-5-20').toNow(true); // 10 months

操作

1.add():增加时间

// moment().add(Number, String);
在原有的时间上增加7天
moment().add(7, 'days');
moment().add(7, 'd'); // 简写
快捷键
yearsy
quartersQ
monthsM
weeksw
daysd
hoursh
minutesm
secondss
millisecondsms

 2.subtract():减去时间

// moment().subtract(Number, String);

在原有的时间上减去7天
moment().subtract(7, 'days');
moment().subtract(7, 'd'); // 简写

3.startOf():设置为时间单位的开头

// moment().startOf(String);
moment().startOf('year');    // 设置为今年一月1日上午 12:00
moment().startOf('month');   // 设置为本月1日上午 12:00
moment().startOf('quarter');  // 设置为当前季度的开始,即每月的第一天上午 12:00
moment().startOf('week');    // 设置为本周的第一天上午 12:00
moment().startOf('isoWeek'); // 根据 ISO 8601 设置为本周的第一天上午 12:00
moment().startOf('day');     // 设置为今天上午 12:00
moment().startOf('date');     // 设置为今天上午 12:00
moment().startOf('hour');    // 设置为当前时间,但是 0 分钟、0 秒钟、0 毫秒
moment().startOf('minute');  // 设置为当前时间,但是 0 秒钟、0 毫秒
moment().startOf('second');  // 与 moment().milliseconds(0); 相同

4.endOf():设置为时间单位的末尾(同上)

校验

1.isBefore(): 一个 moment 是否在另一个 moment 之前

moment('2010-10-20').isBefore('2010-12-31'); // false
moment('2010-10-20').isBefore('2011-01-01'); // true

2.isSame():一个 moment 是否与另一个 moment 相同

moment('2010-10-20').isSame('2009-12-31');  // false
moment('2010-10-20').isSame('2010-10-20');  // true

3.isAfter():一个 moment 是否在另一个 moment 之后

moment('2010-10-20').isAfter('2010-10-19'); // true

4.isSameOrBefore():一个 moment 是否在另一个 moment 之前或与之相同

moment('2010-10-20').isSameOrBefore('2010-10-21');  // true
moment('2010-10-20').isSameOrBefore('2010-10-20');  // true
moment('2010-10-20').isSameOrBefore('2010-10-19');  // false

5.isSameOrAfter(): 一个 moment 是否在另一个 moment 之后或与之相同

moment('2010-10-20').isSameOrAfter('2010-10-19'); // true
moment('2010-10-20').isSameOrAfter('2010-10-20'); // true
moment('2010-10-20').isSameOrAfter('2010-10-21'); // false

6.isBetween(): 一个 moment 是否在其他两个 moment 之间

moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true
moment('2010-10-20').isBetween('2010-10-19', undefined); // true, 因为 moment(undefined) 等效于 moment()

7.isLeapYear(): 是否是闰年

moment([2000]).isLeapYear() // true
moment([2001]).isLeapYear() // false
moment([2100]).isLeapYear() // false

地址:moment.js

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值