Momentjs常用用法整理总汇

image.png Momentjs常用用法整理总汇 经验总结

Moment.js 是一个 JavaScript 日期处理类库,用于解析、检验、操作、以及显示日期。对于前端开发者来说还是非常实用的,今天就整理一些 Moment.js 的常用用法,方便后期查阅:

先说一下基础用法:

当前时间的时间戳:

moment()

可以指定时间:

moment('20211011')

格式化:

moment('20211011').format("YYYY-MM-DD")

格式速查:

类型 令牌 输出
月份 M 1 2 ... 11 12
Mo 1st 2nd ... 11th 12th
MM 01 02 ... 11 12
MMM Jan Feb ... Nov Dec
MMMM January February ... November December
季度 Q 1 2 3 4
Qo 1st 2nd 3rd 4th
月份的日期 D 1 2 ... 30 31
Do 1st 2nd ... 30th 31st
DD 01 02 ... 30 31
年份的日期 DDD 1 2 ... 364 365
DDDo 1st 2nd ... 364th 365th
DDDD 001 002 ... 364 365
星期几 d 0 1 ... 5 6
do 0th 1st ... 5th 6th
dd Su Mo ... Fr Sa
ddd Sun Mon ... Fri Sat
dddd Sunday Monday ... Friday Saturday
星期几(语言环境) e 0 1 ... 5 6
星期几(ISO) E 1 2 ... 6 7
年份的星期 w 1 2 ... 52 53
wo 1st 2nd ... 52nd 53rd
ww 01 02 ... 52 53
年份的星期(ISO) W 1 2 ... 52 53
Wo 1st 2nd ... 52nd 53rd
WW 01 02 ... 52 53
年份 YY 70 71 ... 29 30
YYYY 1970 1971 ... 2029 2030
Y 1970 1971 ... 9999 +10000 +10001 注意:对于 9999 年以后的日期,这符合 ISO 8601 标准。
周年 gg 70 71 ... 29 30
gggg 1970 1971 ... 2029 2030
周年(ISO) GG 70 71 ... 29 30
GGGG 1970 1971 ... 2029 2030
子午线 A AM PM
a am pm
小时 H 0 1 ... 22 23
HH 00 01 ... 22 23
h 1 2 ... 11 12
hh 01 02 ... 11 12
k 1 2 ... 23 24
kk 01 02 ... 23 24
分钟 m 0 1 ... 58 59
mm 00 01 ... 58 59
秒钟 s 0 1 ... 58 59
ss 00 01 ... 58 59
小数秒钟 S 0 1 ... 8 9
SS 00 01 ... 98 99
SSS 000 001 ... 998 999
SSSS ... SSSSSSSSS 000[0..] 001[0..] ... 998[0..] 999[0..]
时区 z or zz EST 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 时间戳 X 1360013296
Unix 毫秒时间戳 x 1360013296123

日期格式化

moment().format('MMMM Do YYYY, h:mm:ss a'); // 十月 11日 2021, 9:18:02 晚上
moment().format('dddd');                    // 星期一
moment().format("MMM Do YY");               // 10月 11日 21
moment().format('YYYY [escaped] YYYY');     // 2021 escaped 2021
moment().format();                          // 2021-10-11T21:18:02+08:00

相对时间

moment("20111031", "YYYYMMDD").fromNow(); // 10 年前
moment("20120620", "YYYYMMDD").fromNow(); // 9 年前
moment().startOf('day').fromNow();        // 21 小时前
moment().endOf('day').fromNow();          // 3 小时内
moment().startOf('hour').fromNow();       // 18 分钟前

日历时间

moment().subtract(10, 'days').calendar(); // 2021/10/01
moment().subtract(6, 'days').calendar();  // 上星期二21:18
moment().subtract(3, 'days').calendar();  // 上星期五21:18
moment().subtract(1, 'days').calendar();  // 昨天21:18
moment().calendar();                      // 今天21:18
moment().add(1, 'days').calendar();       // 明天21:18
moment().add(3, 'days').calendar();       // 下星期四21:18
moment().add(10, 'days').calendar();      // 2021/10/21

多语言支持

moment.locale();         // zh-cn
moment().format('LT');   // 21:18
moment().format('LTS');  // 21:18:02
moment().format('L');    // 2021/10/11
moment().format('l');    // 2021/10/11
moment().format('LL');   // 2021年10月11日
moment().format('ll');   // 2021年10月11日
moment().format('LLL');  // 2021年10月11日晚上9点18分
moment().format('lll');  // 2021年10月11日 21:18
moment().format('LLLL'); // 2021年10月11日星期一晚上9点18分
moment().format('llll'); // 2021年10月11日星期一 21:18

以上是官网给出的最最基础的示例,下面再分享一些我日常用到的用法:

某年最后一天

日期可以是 年月的格式 也可以是年月日的格式:

moment('20211011').endOf('year').format("YYYY-MM-DD") // 2021-12-31

某月最后一天

moment('20211011').endOf('month').format("YYYY-MM-DD") // 2021-10-31

前几天、前几月、前几年

当前时间:

moment().format('YYYY-MM-DD HH:mm:ss') // 2021-10-11 21:18:02

前1年:

moment().subtract(1, 'years').format('YYYY-MM-DD HH:mm:ss') // 2020-10-11 21:18:02

前1个月:

moment().subtract(1, 'months').format('YYYY-MM-DD HH:mm:ss') // 2021-09-11 21:18:02

前10天:

moment().subtract(10, 'days').format('YYYY-MM-DD HH:mm:ss') // 2021-10-01 21:18:02

未经允许不得转载:w3h5 » Momentjs常用用法整理总汇

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/228530.html

(0)
上一篇 2022年1月11日 15:47
下一篇 2022年1月11日 15:47

相关推荐

发表回复

登录后才能评论