format strings
Date and time format elements for parsing/printing are defined by the following groups of characters.
As a general rule, they typically follow the implicit case pattern of "YYYY/MM/DD hh:mm:ss".
Not very strictly followed, however numeric forms of Months/minutes are specified by case.
A simple rule to remember is "The Month of May may be Capitalized, minutes never are".
As a general rule, they typically follow the implicit case pattern of "YYYY/MM/DD hh:mm:ss".
Not very strictly followed, however numeric forms of Months/minutes are specified by case.
A simple rule to remember is "The Month of May may be Capitalized, minutes never are".
| element | aliases | description |
| D | d | One- or two-digit day. |
| DD | dd | Two-digit day. Single-digit day values are preceded by a zero. |
| th | st/TH/ST | Two-character ordinal suffix. (lower/uppercase) Must immediately follow d/D/dd/DD. |
| Ddd | DDD/ddd | Three-character weekday abbreviation. (capitalised/uppercase/lowercase) |
| Dddd | DDDD/dddd | Full weekday name. (capitalised/uppercase/lowercase) |
| doy | Day of year (1..366). | |
| h | H | One- or two-digit hour. (See am/pm notes below.) |
| hh | HH | Two-digit hour. Single-digit values are preceded by a zero. ("") |
| m | mm | Two-digit minute. Single-digit values are preceded by a zero. (NB not M/MM) |
| s | ss/S/SS | Two-digit second. Single-digit values are preceded by a zero. |
| ms | Three-digit millisecond, 000 to 999. | |
| pm | am/PM/AM | Two-letter am/pm abbreviation, prior hour must exist. (lower/uppercase) |
| M | One- or two-digit month number. (NB not m) | |
| MM | Two-digit month number. Single-digit values are preceded by a zero. (NB not mm) | |
| Mmm | MMM/mmm | Three-character month abbreviation. (capitalised/uppercase/lowercase) |
| Mmmm | MMMM/mmmm | Full month name. (capitalised/uppercase/lowercase) |
| Y | y/YY/yy | One- or two-digit year. |
| YYYY | yyyy | Four-digit year. |
| TZ | tz | Three- or four-character uppercase time zone (always uppercase, eg "GMT") |
| Tzz | TZZ/tzz | Full time zone name. (always as-is/capitalised, eg "Greenwich Mean Time") |
| Examples |
"YYYY/MM/DD ham tz" "Ddd, Mmm dst, yyyy" "YYYY/MM/DD ham" "Ddd, Mmm dth, yyyy" "DD Mmm YY" "hh:mm" "DDD, Mmm dST, yyyy" "M/D/YY" "hh:mmpm" "Ddd, MMM DTH, yyyy" "D/M/Y" "hh:mm tz" "Ddd, Mmm dth, YYYY, h:mmpm tz" "M/D/Y" "hpm tz" "Ddd, Mmm dth, YYYY, h:mmpm" "M/D/YYY" "hpm" "Dddd, Mmmm dth, YYYY, h:mmpm" "MM/DD/YY" "h:m:s am" "Dddd, Mmmm dd, yyyy" "M/DD/YY" "h:m:sam" "Dddd, Mmmm d, YYYY" "M/DD/YYYY" " (tzz)" "Dddd d Mmmm yyyy h:mmpm tz" "YYYY-MM-DD" "Mmmm d, yyyy, hh:mm:ss" "D/M/YYYY hpm TZ" "Mmmm dth yyyy h:mmam tz" "D/M/YYYY hpm (Tzz)" "Mmmm dth yyyy h:mmam" "dd-Mmm-YY" "Mmmm d yyyy h:mmpm tz" "’Today is’ Dddd, Mmmm dth, YYYY" -- (put literals in single quotes) "’Today’’’’s date is’ Dddd, Mmmm dth, YYYY" |
|
| WRONG |
"dd/mm/yyyy" -- would be day/minute/year!! "HH:MM" -- would be hour/month!! An error (3 element sequence) is returned if minute immediately follows day or year, or if month immediately follows hour or precedes second or ampm. (But not if minute immedately precedes year or day, since "1:50 [2016] 2nd Jan" is fine, and month immediately preceding hour or day is fine.) |