Full Weekday with Full Month Name
datetime.date.weekday_full_monthFull weekday name followed by full month name. The most human-readable date format. Locale-specific.
Operations on this type: Parse a date or time
Try a value
Full Weekday with Full Month Name's rule accepts it.
Reads it as 2024-03-04
Use it
finetype infer -i 'Monday, January 15, 2024' --mode column
# → datetime.date.weekday_full_monthSELECT ft_infer('Monday, January 15, 2024');
-- → 'datetime.date.weekday_full_month'strptime({col}, '%A, %B %d, %Y')::DATE
-- Format: %A, %B %d, %YHow finetype reads the samples
DuckDB 1.5.5 · finetype 0.6.66
| Value | As DATE |
|---|---|
| Monday, January 15, 2024 | 2024-01-15 |
| Tuesday, December 31, 2019 | 2019-12-31 |
- %A
- full weekday
- %B
- full month name
- %d
- day of month, two digits
- %Y
- four-digit year
Written by
CLDR 46 via finetype 0.6.66
Each locale below writes this format with its CLDR date pattern at the styles named beside it.
en full · en (AS, BI, CA, GU, MH, MP, PH, PR, UM, VI) full
Pattern
^[A-Za-z]+[, ]+(?:[A-Za-z]+ \d{1,2},? \d{4}|\d{1,2}\.? [A-Za-z]+ \d{4})$| Value | Length | Shape |
|---|---|---|
| Monday, January 15, 2024 | 24 | matches |
| Tuesday, December 31, 2019 | 26 | matches |
| Monday, January 15, 202 | 23 | rejected: one character short |
Background
Origin
Unicode's LDML specification says standard date patterns are normally provided in four types: full (usually with weekday name), long, medium and short.[1] LDML's own example of a full-length date pattern is EEEE, MMMM d, y.[1] The Unicode CLDR data gives English (en) the full date pattern EEEE, MMMM d, y.[2] CLDR's British English (en-GB) data puts the day first instead, with the full date pattern EEEE, d MMMM y.[3]
Wikipedia describes month–day–year order, as in October 18, 2026, as the traditional usage in the United States.[4]
Use
.NET's long date (D) format specifier writes 2009-06-15 as Monday, June 15, 2009 in the en-US culture.[5] When you meet this shape, check the source system's locale before you trust the order and the names. (Meridian's view)
In Python's strftime and strptime, %A is the weekday as the locale's full name.[6] In Python's strftime and strptime, %B is the month as the locale's full name.[6] Python's strptime treats the leading zero as optional for %d.[6] Set the parsing locale explicitly rather than relying on the machine's default. (Meridian's view) Do not assume the day is zero-padded; parse with a format that accepts both 5 and 05. (Meridian's view) Treat the weekday as a free consistency check: recompute it from the parsed date and flag any row where the two disagree. (Meridian's view) Convert the column to a real date before you sort or compare it. (Meridian's view)
Sources
- [1]Unicode Locale Data Markup Language (LDML) Part 4: Datesstandard
- [2]ca-gregorian.jsondocumentation
- [3]ca-gregorian.jsondocumentation
- [4]Date and time notation in the United Statessecondary source
- [5]Standard date and time format strings - .NET | Microsoft Learndocumentation
- [6]datetime — Basic date and time typesdocumentation
Schema
https://meridian.online/schemas/datetime.date.weekday_full_month · Frictionless type date · %A, %B %d, %Y
finetype taxonomy datetime.date.weekday_full_month -o json-schema