Parsing

m = moment('2013-03-01', 'YYYY-MM-DD')

This parses the given date using the given format. Returns a moment object.

Formatting

m
  .format()
  .format('dddd')
  .format('MMM Do YY') // → "Sep 2nd 07"
  .fromNow() // → "31 minutes ago"
  .calendar() // → "Last Friday at 9:32PM"

Add

m.add(1, 'day')
m.subtract(2, 'days')
m.startOf('day')
m.endOf('day')
m.startOf('hour')

Internationalization

.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

See datetime for more.

Formatting

Examples

Date

Example Output
YYYY-MM-DD 2014-01-01
dddd, MMMM Do YYYY Friday, May 16th 2014

Time

Example Output
hh:mm a 12:30 pm

Used by Moment.js and date-fns/format. Similar to Java SimpleDateFormat.

Date

Symbol Example Area
d 0..6 Weekday
dd Su  
ddd Sun  
dddd Sunday  
YY 13 Year
YYYY 2013  
M 1..12 (Jan is 1) Month
Mo 1st..12th  
MM 01..12 (Jan is 1)  
MMM Jan  
MMMM January  
Q 1..4 Quarter
Qo 1st..4th  
D 1..31 Day
Do 1st..31st  
DD 01..31  
DDD 1..365 Day of year
DDDo 1st..365th  
DDDD 001..365  
w 1..53 Week of year
wo 1st..53rd  
ww 01..53  

Time

Symbol Example Area
H 0..23 24h hour
HH 00..23  
h 1..12 12h hour
hh 01..12  
m 0..59 Minutes
mm 00..59  
s 0..59 Seconds
ss 00..59  
a am AM/PM
A AM  
Z +07:00 Timezone offset
ZZ +0730  
S 0..9 Deciseconds
SS 00..99 Centiseconds
SSS 000..999 Milliseconds
X   Unix timestamp
x   Millisecond Unix timestamp

Presets

Example Output
LT 8:30 PM
LTS 8:30:25 PM
LL August 2 1985
ll Aug 2 1985
LLL August 2 1985 08:30 PM
lll Aug 2 1985 08:30 PM
LLLL Thursday, August 2 1985 08:30 PM
llll Thu, Aug 2 1985 08:30 PM

References

Alternatives

Also see

0 Comments for this cheatsheet. Write yours!