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/228530.html

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

相关推荐

发表回复

登录后才能评论