Momentjs常用用法整理总汇

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

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

先说一下基础用法:

当前时间的时间戳:

moment()

可以指定时间:

moment('20211011')

格式化:

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

格式速查:


类型令牌输出
月份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


日期格式化

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常用用法整理总汇

赞 (0)
分享到: +

评论 沙发

换个身份

  • 昵称 (必填)
  • 邮箱 (选填)