Momentjs常用用法整理总汇

2023-08-25 13:21:53 浏览数 (1)

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

0 人点赞