MeridianMERIDIAN

DMY Date with Full Month (space-separated)

datetime.date.dmy_space_full

Day 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

Shell
finetype infer -i '15 January 2024' --mode column
# → datetime.date.dmy_space_full
DuckDB
SELECT ft_infer('15 January 2024');
-- → 'datetime.date.dmy_space_full'
Cast template: {col} is your column
strptime({col}, '%d %B %Y')::DATE
-- Format: %d %B %Y

How finetype reads the samples

DuckDB 1.5.5 · finetype 0.6.66

ValueAs DATE
15 January 20242024-01-15
31 December 20232023-12-31
1 June 20002000-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.

Regular expression
^[0-3]?\d [A-Z][a-z]+ \d{4}$
ValueLengthShape
15 January 202415matches
31 December 202316matches
1 June 200011matches
15 January 20214rejected: 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)

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

Type Registry