Moment.js 是一个 JavaScript 日期处理类库,用于解析、检验、操作、以及显示日期。对于前端开发者来说还是非常实用的,今天就整理一些 Moment.js 的常用用法,方便后期查阅:
先说一下基础用法:
当前时间的时间戳:
代码语言:javascript复制moment()
可以指定时间:
代码语言:javascript复制moment('20211011')
格式化:
代码语言:javascript复制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 | 0000.. 0010.. ... 9980.. 9990.. |
时区 | 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 |
日期格式化
代码语言:javascript复制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
相对时间
代码语言:javascript复制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 分钟前
日历时间
代码语言:javascript复制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
多语言支持
代码语言:javascript复制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
以上是官网给出的最最基础的示例,下面再分享一些我日常用到的用法:
某年最后一天
日期可以是 年月的格式 也可以是年月日的格式:
代码语言:javascript复制moment('20211011').endOf('year').format("YYYY-MM-DD") // 2021-12-31
某月最后一天
代码语言:javascript复制moment('20211011').endOf('month').format("YYYY-MM-DD") // 2021-10-31
前几天、前几月、前几年
当前时间:
代码语言:javascript复制moment().format('YYYY-MM-DD HH:mm:ss') // 2021-10-11 21:18:02
前1年:
代码语言:javascript复制moment().subtract(1, 'years').format('YYYY-MM-DD HH:mm:ss') // 2020-10-11 21:18:02
前1个月:
代码语言:javascript复制moment().subtract(1, 'months').format('YYYY-MM-DD HH:mm:ss') // 2021-09-11 21:18:02
前10天:
代码语言:javascript复制moment().subtract(10, 'days').format('YYYY-MM-DD HH:mm:ss') // 2021-10-01 21:18:02
未经允许不得转载:w3h5-Web前端开发资源网 » Momentjs常用用法整理总汇