本文根据 Devhints / Moment.js 翻译。代码示例及版本范围沿用原文。原文标注更新日期:2018-09-15。
解析
m = moment('2013-03-01', 'YYYY-MM-DD')
使用指定的格式解析给定的日期。返回一个 moment 对象。
格式化
m.format() // "2013-03-01T00:00:00+01:00"
m.format('dddd') // "Friday"
m.format('MMM Do YY') // "Mar 1st 13"
m.fromNow() // "7 years ago"
m.calendar() // "03/01/2013"
添加
m.add(1, 'day')
m.subtract(2, 'days')
m.startOf('day')
m.endOf('day')
m.startOf('hour')
国际化
.format('L') // 06/09/2014
.format('l') // 6/9/2014
.format('LL') // June 9 2014
.format('ll') // Jun 9 2014
.format('LLL') // June 9 2014 9:32 PM
.format('lll') // Jun 9 2014 9:32 PM
.format('LLLL') // Monday, June 9 2014 9:32 PM
.format('llll') // Mon, Jun 9 2014 9:32 PM
参见 datetime 了解更多。
格式化
示例
日期
| 示例 | 输出 |
|---|---|
YYYY-MM-DD | 2014-01-01 |
dddd, MMMM Do YYYY | 2014 年 5 月 16 日,星期五 |
dddd [the] Do [of] MMMM | 5 月 16 日,星期五 |
时间
| 示例 | 输出 |
|---|---|
hh:mm a | 下午 12:30 |
用于 Moment.js 以及 date-fns/格式.类似于 Java SimpleDateFormat.
日期
| 符号 | 示例 | 区域 |
|---|---|---|
d | 0..6 | 星期几 |
dd | Su | |
ddd | Sun | |
dddd | Sunday | |
YY | 13 | 年 |
YYYY | 2013 | |
M | 1..12 (1 月为 1) | 月 |
Mo | 1st..12th | |
MM | 01..12 (1 月为 1) | |
MMM | Jan | |
MMMM | January | |
Q | 1..4 | 季度 |
Qo | 1st..4th | |
D | 1..31 | 日 |
Do | 1st..31st | |
DD | 01..31 | |
DDD | 1..365 | 一年中的第几天 |
DDDo | 1st..365th | |
DDDD | 001..365 | |
w | 1..53 | 一年中的第几周 |
wo | 1st..53rd | |
ww | 01..53 |
时间
| 符号 | 示例 | 区域 |
|---|---|---|
H | 0..23 | 24 小时制小时 |
HH | 00..23 | |
h | 1..12 | 12 小时制小时 |
hh | 01..12 | |
m | 0..59 | 分钟 |
mm | 00..59 | |
s | 0..59 | 秒 |
ss | 00..59 | |
a | am | AM/PM |
A | AM | |
Z | +07:00 | 时区偏移量 |
ZZ | +0730 | |
S | 0..9 | 十分之一秒 |
SS | 00..99 | 百分之一秒 |
SSS | 000..999 | 毫秒 |
X | Unix 时间戳 | |
x | 毫秒级 Unix 时间戳 |
预设
| 示例 | 输出 |
|---|---|
LT | 8:30 PM |
LTS | 8:30:25 PM |
LL | 1985 年 8 月 2 日 |
ll | 1985 年 8 月 2 日 |
LLL | 1985 年 8 月 2 日 08:30 PM |
lll | 1985 年 8 月 2 日 08:30 PM |
LLLL | 1985 年 8 月 2 日星期四 08:30 PM |
llll | 1985 年 8 月 2 日星期四 08:30 PM |
参考资料
替代方案
- 你不需要 Moment.js (github.com)