moment时间工具类 format方法学习

956 阅读4分钟

参考文档:文档 | Moment.js 中文网 (momentjs.cn)

使用方法:

moment(time).format(formatString)
time和formatString均可为空


time为空(则格式化当前时间)time不为空
formatString为空方法:moment().format()
输出示例:2021-05-20T14:45:15+08:00
time:2021-05-20 12:00:00
方法:moment('2021-05-20 12:00:00').format()
输出示例:2021-05-20T12:00:00+08:00
formatString不为空formatString:YYYY-MM-DD HH:mm:ss
方法:moment().format("YYYY-MM-DD HH:mm:ss")
输出示例:2021-05-2014:47:18
time:2021-05-20 12:00:00
formatString:YYYY-MM-DD HH:mm:ss
方法:moment('2021-05-20 12:00:00').format("YYYY-MM-DD HH:mm:ss")
输出示例:2021-05-20 12:00:00
例如 moment('2021-05-20 12:00:00').format("YYYY-MM-DD HH:mm:ss") format接受令牌并替换为相应的值,也就是占位符的概念
YYYY替换为年2021; MM替换为月05; DD替换为日20 ; HH替换为小时12; mm替换为分钟00;ss替换为秒钟00;

这里附上令牌与输出


令牌输出
月份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
## 这里总结一下常用的时间格式
年月日时分秒(24小时进制) :
moment('2021-05-20 13:00:00').format('YYYY-MM-DD HH:mm:ss')
YYYY-MM-DD HH:mm:ss 2021-05-20 13:00:00
年月日时分秒(12小时进制):
moment('2021-05-20 13:00:00').format('YYYY-MM-DD hh:mm:ss')
YYYY-MM-DD hh:mm:ss 2021-05-20 01:00:00
其余时间格式根据令牌自行拼接即可