A running list of date formats based on language/library for reference.
(source)
Format specifier | Description | Examples |
---|---|---|
"d" | The day of the month, from 1 through 31. More information: The "d" Custom Format Specifier. | 2009-06-01T13:45:30 -> 1 2009-06-15T13:45:30 -> 15 |
"dd" | The day of the month, from 01 through 31. More information: The "dd" Custom Format Specifier. | 2009-06-01T13:45:30 -> 01 2009-06-15T13:45:30 -> 15 |
"ddd" | The abbreviated name of the day of the week. More information: The "ddd" Custom Format Specifier. | 2009-06-15T13:45:30 -> Mon (en-US) 2009-06-15T13:45:30 -> Пн (ru-RU) 2009-06-15T13:45:30 -> lun. (fr-FR) |
"dddd" | The full name of the day of the week. More information: The "dddd" Custom Format Specifier. | 2009-06-15T13:45:30 -> Monday (en-US) 2009-06-15T13:45:30 -> понедельник (ru-RU) 2009-06-15T13:45:30 -> lundi (fr-FR) |
"f" | The tenths of a second in a date and time value. More information: The "f" Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 6 2009-06-15T13:45:30.05 -> 0 |
"ff" | The hundredths of a second in a date and time value. More information: The "ff" Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 61 2009-06-15T13:45:30.0050000 -> 00 |
"fff" | The milliseconds in a date and time value. More information: The "fff" Custom Format Specifier. | 6/15/2009 13:45:30.617 -> 617 6/15/2009 13:45:30.0005 -> 000 |
"ffff" | The ten thousandths of a second in a date and time value. More information: The "ffff" Custom Format Specifier. | 2009-06-15T13:45:30.6175000 -> 6175 2009-06-15T13:45:30.0000500 -> 0000 |
"fffff" | The hundred thousandths of a second in a date and time value. More information: The "fffff" Custom Format Specifier. | 2009-06-15T13:45:30.6175400 -> 61754 6/15/2009 13:45:30.000005 -> 00000 |
"ffffff" | The millionths of a second in a date and time value. More information: The "ffffff" Custom Format Specifier. | 2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> 000000 |
"fffffff" | The ten millionths of a second in a date and time value. More information: The "fffffff" Custom Format Specifier. | 2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 0001150 |
"F" | If non-zero, the tenths of a second in a date and time value. More information: The "F" Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 6 2009-06-15T13:45:30.0500000 -> (no output) |
"FF" | If non-zero, the hundredths of a second in a date and time value. More information: The "FF" Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 61 2009-06-15T13:45:30.0050000 -> (no output) |
"FFF" | If non-zero, the milliseconds in a date and time value. More information: The "FFF" Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 617 2009-06-15T13:45:30.0005000 -> (no output) |
"FFFF" | If non-zero, the ten thousandths of a second in a date and time value. More information: The "FFFF" Custom Format Specifier. | 2009-06-15T13:45:30.5275000 -> 5275 2009-06-15T13:45:30.0000500 -> (no output) |
"FFFFF" | If non-zero, the hundred thousandths of a second in a date and time value. More information: The "FFFFF" Custom Format Specifier. | 2009-06-15T13:45:30.6175400 -> 61754 2009-06-15T13:45:30.0000050 -> (no output) |
"FFFFFF" | If non-zero, the millionths of a second in a date and time value. More information: The "FFFFFF" Custom Format Specifier. | 2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> (no output) |
"FFFFFFF" | If non-zero, the ten millionths of a second in a date and time value. More information: The "FFFFFFF" Custom Format Specifier. | 2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 000115 |
"g", "gg" | The period or era. More information: The "g" or "gg" Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> A.D. |
"h" | The hour, using a 12-hour clock from 1 to 12. More information: The "h" Custom Format Specifier. | 2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 1 |
"hh" | The hour, using a 12-hour clock from 01 to 12. More information: The "hh" Custom Format Specifier. | 2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 01 |
"H" | The hour, using a 24-hour clock from 0 to 23. More information: The "H" Custom Format Specifier. | 2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 13 |
"HH" | The hour, using a 24-hour clock from 00 to 23. More information: The "HH" Custom Format Specifier. | 2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 13 |
"K" | Time zone information. More information: The "K" Custom Format Specifier. | With DateTime values: 2009-06-15T13:45:30, Kind Unspecified -> 2009-06-15T13:45:30, Kind Utc -> Z 2009-06-15T13:45:30, Kind Local -> -07:00 (depends on local computer settings) With DateTimeOffset values: 2009-06-15T01:45:30-07:00 --> -07:00 2009-06-15T08:45:30+00:00 --> +00:00 |
"m" | The minute, from 0 through 59. More information: The "m" Custom Format Specifier. | 2009-06-15T01:09:30 -> 9 2009-06-15T13:29:30 -> 29 |
"mm" | The minute, from 00 through 59. More information: The "mm" Custom Format Specifier. | 2009-06-15T01:09:30 -> 09 2009-06-15T01:45:30 -> 45 |
"M" | The month, from 1 through 12. More information: The "M" Custom Format Specifier. | 2009-06-15T13:45:30 -> 6 |
"MM" | The month, from 01 through 12. More information: The "MM" Custom Format Specifier. | 2009-06-15T13:45:30 -> 06 |
"MMM" | The abbreviated name of the month. More information: The "MMM" Custom Format Specifier. | 2009-06-15T13:45:30 -> Jun (en-US) 2009-06-15T13:45:30 -> juin (fr-FR) 2009-06-15T13:45:30 -> Jun (zu-ZA) |
"MMMM" | The full name of the month. More information: The "MMMM" Custom Format Specifier. | 2009-06-15T13:45:30 -> June (en-US) 2009-06-15T13:45:30 -> juni (da-DK) 2009-06-15T13:45:30 -> uJuni (zu-ZA) |
"s" | The second, from 0 through 59. More information: The "s" Custom Format Specifier. | 2009-06-15T13:45:09 -> 9 |
"ss" | The second, from 00 through 59. More information: The "ss" Custom Format Specifier. | 2009-06-15T13:45:09 -> 09 |
"t" | The first character of the AM/PM designator. More information: The "t" Custom Format Specifier. | 2009-06-15T13:45:30 -> P (en-US) 2009-06-15T13:45:30 -> 午 (ja-JP) 2009-06-15T13:45:30 -> (fr-FR) |
"tt" | The AM/PM designator. More information: The "tt" Custom Format Specifier. | 2009-06-15T13:45:30 -> PM (en-US) 2009-06-15T13:45:30 -> 午後 (ja-JP) 2009-06-15T13:45:30 -> (fr-FR) |
"y" | The year, from 0 to 99. More information: The "y" Custom Format Specifier. | 0001-01-01T00:00:00 -> 1 0900-01-01T00:00:00 -> 0 1900-01-01T00:00:00 -> 0 2009-06-15T13:45:30 -> 9 2019-06-15T13:45:30 -> 19 |
"yy" | The year, from 00 to 99. More information: The "yy" Custom Format Specifier. | 0001-01-01T00:00:00 -> 01 0900-01-01T00:00:00 -> 00 1900-01-01T00:00:00 -> 00 2019-06-15T13:45:30 -> 19 |
"yyy" | The year, with a minimum of three digits. More information: The "yyy" Custom Format Specifier. | 0001-01-01T00:00:00 -> 001 0900-01-01T00:00:00 -> 900 1900-01-01T00:00:00 -> 1900 2009-06-15T13:45:30 -> 2009 |
"yyyy" | The year as a four-digit number. More information: The "yyyy" Custom Format Specifier. | 0001-01-01T00:00:00 -> 0001 0900-01-01T00:00:00 -> 0900 1900-01-01T00:00:00 -> 1900 2009-06-15T13:45:30 -> 2009 |
"yyyyy" | The year as a five-digit number. More information: The "yyyyy" Custom Format Specifier. | 0001-01-01T00:00:00 -> 00001 2009-06-15T13:45:30 -> 02009 |
"z" | Hours offset from UTC, with no leading zeros. More information: The "z" Custom Format Specifier. | 2009-06-15T13:45:30-07:00 -> -7 |
"zz" | Hours offset from UTC, with a leading zero for a single-digit value. More information: The "zz" Custom Format Specifier. | 2009-06-15T13:45:30-07:00 -> -07 |
"zzz" | Hours and minutes offset from UTC. More information: The "zzz" Custom Format Specifier. | 2009-06-15T13:45:30-07:00 -> -07:00 |
":" | The time separator. More information: The ":" Custom Format Specifier. | 2009-06-15T13:45:30 -> : (en-US) 2009-06-15T13:45:30 -> . (it-IT) 2009-06-15T13:45:30 -> : (ja-JP) |
"/" | The date separator. More Information: The "/" Custom Format Specifier. | 2009-06-15T13:45:30 -> / (en-US) 2009-06-15T13:45:30 -> - (ar-DZ) 2009-06-15T13:45:30 -> . (tr-TR) |
"string" 'string' | Literal string delimiter. More information: Character literals. | 2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P 2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P |
% | Defines the following character as a custom format specifier. More information:Using Single Custom Format Specifiers. | 2009-06-15T13:45:30 (%h) -> 1 |
\ | The escape character. More information: Character literals and Using the Escape Character. | 2009-06-15T13:45:30 (h \h) -> 1 h |
Any other character | The character is copied to the result string unchanged. More information: Character literals. | 2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A |
(source)
%a - The abbreviated weekday name (“Sun”)
%A - The full weekday name (“Sunday”)
%b - The abbreviated month name (“Jan”)
%B - The full month name (“January”)
%c - The preferred local date and time representation
%d - Day of the month (01..31)
%H - Hour of the day, 24-hour clock (00..23)
%I - Hour of the day, 12-hour clock (01..12)
%j - Day of the year (001..366)
%m - Month of the year (01..12)
%M - Minute of the hour (00..59)
%p - Meridian indicator (“AM” or “PM”)
%S - Second of the minute (00..60)
%U - Week number of the current year, starting with the first Sunday as the first day of the first week (00..53)
%W - Week number of the current year, starting with the first Monday as the first day of the first week (00..53)
%w - Day of the week (Sunday is 0, 0..6)
%x - Preferred representation for the date alone, no time
%X - Preferred representation for the time alone, no date
%y - Year without a century (00..99)
%Y - Year with century
%Z - Time zone name %% - Literal “%’’ character t = Time.now t.strftime(“Printed on %m/%d/%Y”) #=> “Printed on 04/09/2003” t.strftime(“at %I:%M%p”) #=> “at 08:56AM”
(source)
Input | Example | Description |
---|---|---|
YYYY |
2014 |
4 or 2 digit year |
YY |
14 |
2 digit year |
Y |
-25 |
Year with any number of digits and sign |
Q |
1..4 |
Quarter of year. Sets month to first month in quarter. |
M MM |
1..12 |
Month number |
MMM MMMM |
Jan..December |
Month name in locale set by moment.locale() |
D DD |
1..31 |
Day of month |
Do |
1st..31st |
Day of month with ordinal |
DDD DDDD |
1..365 |
Day of year |
X |
1410715640.579 |
Unix timestamp |
x |
1410715640579 |
Unix ms timestamp |
YYYY
from version 2.10.5 supports 2 digit years, and converts them to a year
near 2000 (same as YY
).
Y
was added in 2.11.1. It will match any number, signed or unsigned. It is useful for years that are not 4 digits or are before the common era. It can be used for any year.
For these, the lowercase tokens use the locale aware week start days, and the uppercase tokens use the ISO week date start days.
Input | Example | Description |
---|---|---|
gggg |
2014 |
Locale 4 digit week year |
gg |
14 |
Locale 2 digit week year |
w ww |
1..53 |
Locale week of year |
e |
0..6 |
Locale day of week |
ddd dddd |
Mon...Sunday |
Day name in locale set by moment.locale() |
GGGG |
2014 |
ISO 4 digit week year |
GG |
14 |
ISO 2 digit week year |
W WW |
1..53 |
ISO week of year |
E |
1..7 |
ISO day of week |
Input | Example | Description |
---|---|---|
H HH |
0..23 |
24 hour time |
h hh |
1..12 |
12 hour time used with a A . |
a A |
am pm |
Post or ante meridiem (Note the one character a p are also considered valid) |
m mm |
0..59 |
Minutes |
s ss |
0..59 |
Seconds |
S SS SSS |
0..999 |
Fractional seconds |
Z ZZ |
+12:00 |
Offset from UTC as +-HH:mm , +-HHmm , or Z |
(source)
Formats date
to a string based on the requested format
.
format
string can be composed of the following elements:
'yyyy'
: 4 digit representation of year (e.g. AD 1 => 0001, AD 2010 => 2010)'yy'
: 2 digit representation of year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)'y'
: 1 digit representation of year, e.g. (AD 1 => 1, AD 199 => 199)'MMMM'
: Month in year (January-December)'MMM'
: Month in year (Jan-Dec)'MM'
: Month in year, padded (01-12)'M'
: Month in year (1-12)'LLLL'
: Stand-alone month in year (January-December)'dd'
: Day in month, padded (01-31)'d'
: Day in month (1-31)'EEEE'
: Day in Week,(Sunday-Saturday)'EEE'
: Day in Week, (Sun-Sat)'HH'
: Hour in day, padded (00-23)'H'
: Hour in day (0-23)'hh'
: Hour in AM/PM, padded (01-12)'h'
: Hour in AM/PM, (1-12)'mm'
: Minute in hour, padded (00-59)'m'
: Minute in hour (0-59)'ss'
: Second in minute, padded (00-59)'s'
: Second in minute (0-59)'sss'
: Millisecond in second, padded (000-999)'a'
: AM/PM marker'Z'
: 4 digit (+sign) representation of the timezone offset (-1200-+1200)'ww'
: Week of year, padded (00-53). Week 01 is the week with the first Thursday of the year'w'
: Week of year (0-53). Week 1 is the week with the first Thursday of the year'G'
,'GG'
,'GGG'
: The abbreviated form of the era string (e.g. 'AD')'GGGG'
: The long form of the era string (e.g. 'Anno Domini')format
string can also be one of the following predefined localizable formats:'medium'
: equivalent to'MMM d, y h:mm:ss a'
for en_US locale (e.g. Sep 3, 2010 12:05:08 PM)'short'
: equivalent to'M/d/yy h:mm a'
for en_US locale (e.g. 9/3/10 12:05 PM)'fullDate'
: equivalent to'EEEE, MMMM d, y'
for en_US locale (e.g. Friday, September 3, 2010)'longDate'
: equivalent to'MMMM d, y'
for en_US locale (e.g. September 3, 2010)'mediumDate'
: equivalent to'MMM d, y'
for en_US locale (e.g. Sep 3, 2010)'shortDate'
: equivalent to'M/d/yy'
for en_US locale (e.g. 9/3/10)'mediumTime'
: equivalent to'h:mm:ss a'
for en_US locale (e.g. 12:05:08 PM)'shortTime'
: equivalent to'h:mm a'
for en_US locale (e.g. 12:05 PM)format
string can contain literal values. These need to be escaped by surrounding with single quotes (e.g."h 'in the morning'"
). In order to output a single quote, escape it - i.e., two single quotes in a sequence (e.g."h 'o''clock'"
).