DMY Date with Full Month (space-separated)
datetime.date.dmy_space_fullDay FullMonth Year with space separators. Unambiguous due to named month. CLDR en-GB long format, European formal documents.
Operations on this type: Parse a date or time
Try a value
DMY Date with Full Month (space-separated)'s rule accepts it.
Reads it as 2024-03-04
Use it
finetype infer -i '15 January 2024' --mode column
# → datetime.date.dmy_space_fullSELECT ft_infer('15 January 2024');
-- → 'datetime.date.dmy_space_full'strptime({col}, '%d %B %Y')::DATE
-- Format: %d %B %YHow finetype reads the samples
DuckDB 1.5.5 · finetype 0.6.66
| Value | As DATE |
|---|---|
| 15 January 2024 | 2024-01-15 |
| 31 December 2023 | 2023-12-31 |
| 1 June 2000 | 2000-06-01 |
- %d
- day of month, two digits
- %B
- full month name
- %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 (001, 150, AE, AG, AI, AT, AU, BB, BE, BM, BS, BW, BZ, CC, CH, CK, CM, CX, CY, DE, DG, DK, DM, ER, FI, FJ, FK, FM, GB, GD, GG, GH, GI, GM, GY, HK, ID, IE, IL, IM, IN, IO, JE, JM, KE, KI, KN, KY, LC, LR, LS, MG, MO, MS, MT, MU, MV, MW, MY, NA, NF, NG, NL, NR, NU, NZ, PG, PK, PN, PW, RW, SB, SC, SD, SE, SG, SH, SI, SL, SS, SX, SZ, TC, TK, TO, TT, TV, TZ, UG, VC, VG, VU, WS, ZA, ZM, ZW) long
Pattern
Length 12 to 20 characters.
^[0-3]?\d [A-Z][a-z]+ \d{4}$| Value | Length | Shape |
|---|---|---|
| 15 January 2024 | 15 | matches |
| 31 December 2023 | 16 | matches |
| 1 June 2000 | 11 | matches |
| 15 January 202 | 14 | rejected: one character short |
Background
Origin
In the Unicode CLDR data for British English (en-GB), the long date format of the Gregorian calendar is the pattern d MMMM y.[1]
Dates in the United Kingdom are traditionally and most commonly written in day–month–year order.[2] The Wikipedia article on UK date notation gives 31 December 1999 as an example of the day–month–year format.[2] Formal style manuals discourage writing the day of the month as an ordinal number, according to the same Wikipedia article on UK date notation.[2]
FineType defines the type datetime.date.dmy_space_full with the format string %d %B %Y.[3] FineType's label definition describes the type as the CLDR en-GB long format.[3]
Use
The GOV.UK A to Z style guide tells writers not to use ordinal numbers for the day, giving 2 June and not 2nd June as its example.[4] The GOV.UK A to Z style guide tells writers not to put a comma between the month and year, giving 4 June 2017 as its example.[4] The GOV.UK A to Z style guide allows truncated months such as Jan and Feb when space is an issue, for example in tables.[4]
Wikipedia's article on UK date notation says that the UK has no standard pattern for long form dates when printed.[2] The Wikipedia article on UK date notation says The Guardian, the Financial Times and The Daily Telegraph write dates as Friday 31 December 2021.[2]
Python's datetime documentation says that, with strptime(), the leading zero is optional for %d.[5] DuckDB's date format documentation gives an example that parses 2 March 1992 with the specifier %-d followed by %B and %Y.[6] Because month names belong to a language, confirm that a file's month names are English before parsing it with an English-locale parser, and test a few single-digit days such as 1 June 2000. (Meridian's view) A named month removes the day-or-month doubt that numeric dates carry, so once parsed, this form is one of the safer date columns to trust. (Meridian's view)
Sources
- [1]ca-gregorian.jsonstandard
- [2]Date and time notation in the United Kingdomsecondary source
- [3]definitions_datetime.yamlFineType
- [4]A to Z style guide - GOV.UK content and publishing guidanceorganisation
- [5]datetime — Basic date and time typesdocumentation
- [6]Date Format Functionsdocumentation
How it's detected
CLDR en-GB long format.
Schema
https://meridian.online/schemas/datetime.date.dmy_space_full · Frictionless type date · %d %B %Y
finetype taxonomy datetime.date.dmy_space_full -o json-schema