The token matrix.
Every field, every language, one table — a blank cell is an honest gap, not an omission.
| Field | Example | C / POSIX | C# custom format | CLDR / ICU pattern | Go time layout | Java | Intl.DateTimeFormat | Moment.js format | PHP date() | Python | Ruby | Rust chrono |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Era | AD | — | g | G | — | G | era: "short" | — | — | — | — | — |
| Four-digit year | 2006 | %Y | yyyy | y | 2006 | uuuu | year: "numeric" | YYYY | Y | %Y | %Y | %Y |
| Two-digit year | 06 | %y | yy | yy | 06 | uu | year: "2-digit" | YY | y | %y | %y | %y |
| ISO week-based year | 2006 | %G | — | Y | — | YYYY | — | GGGG | o | %G | %G | %G |
| Quarter | 1 | — | — | Q | — | Q | — | Q | — | — | — | %q |
| Month number | 1 | — | M | M | 1 | M | month: "numeric" | M | n | — | %-m | — |
| Month number, padded | 01 | %m | MM | MM | 01 | MM | month: "2-digit" | MM | m | %m | %m | %m |
| Month name, abbreviated | Jan | %b | MMM | MMM | Jan | MMM | month: "short" | MMM | M | %b | %b | %b |
| Month name, full | January | %B | MMMM | MMMM | January | MMMM | month: "long" | MMMM | F | %B | %B | %B |
| Week of year | 1 | %V | — | w | — | w | — | W | W | %V | %V | %V |
| Day of month | 2 | — | d | d | 2 | d | day: "numeric" | D | j | — | %-d | — |
| Day of month, padded | 02 | %d | dd | dd | 02 | dd | day: "2-digit" | DD | d | %d | %d | %d |
| Day of year | 2 | %j | — | D | 002 | D | — | DDD | — | %j | %j | %j |
| Weekday, abbreviated | Mon | %a | ddd | E | Mon | EEE | weekday: "short" | ddd | D | %a | %a | %a |
| Weekday, full | Monday | %A | dddd | EEEE | Monday | EEEE | weekday: "long" | dddd | l | %A | %A | %A |
| Hour, 24-hour clock | 15 | — | H | H | — | H | hour: "numeric", hourCycle: "h23" | H | G | — | — | — |
| Hour, 24-hour clock, padded | 15 | %H | HH | HH | 15 | HH | hour: "2-digit", hourCycle: "h23" | HH | H | %H | %H | %H |
| Hour, 12-hour clock | 3 | — | h | h | 3 | h | hour: "numeric", hour12: true | h | g | — | — | — |
| Hour, 12-hour clock, padded | 03 | %I | hh | hh | 03 | hh | hour: "2-digit", hour12: true | hh | h | %I | %I | %I |
| AM/PM marker | PM | %p | tt | a | PM | a | — | A | A | %p | %p | %p |
| Minute, padded | 04 | %M | mm | mm | 04 | mm | minute: "2-digit" | mm | i | %M | %M | %M |
| Second, padded | 05 | %S | ss | ss | 05 | ss | second: "2-digit" | ss | s | %S | %S | %S |
| Fractional seconds | 000 | — | fff | S | .000 | SSS | fractionalSecondDigits: 3 | SSS | v | %f | %L | %.3f |
| UTC offset, basic | -0700 | %z | — | xx | -0700 | Z | — | ZZ | O | %z | %z | %z |
| UTC offset, extended | -07:00 | — | zzz | xxx | -07:00 | xxx | timeZoneName: "longOffset" | Z | P | %:z | %:z | %:z |
| Time-zone name, short | MST | %Z | — | z | MST | z | timeZoneName: "short" | — | T | %Z | %Z | %Z |
| Unix timestamp | 1136239445 | — | — | — | — | — | — | X | U | — | %s | %s |
Dotted tokens carry a caveat — open the field's page for it · examples render Mon, Jan 2 2006, 3:04:05 PM MST.