MeridianMERIDIAN

Abbreviated Month Year

datetime.date.month_year_abbrev

Abbreviated month name followed by 4-digit year. No day component. Financial dashboards, CLDR yMMM skeleton.

Operations on this type: Parse a date or time

Try a value

Abbreviated Month Year's rule accepts it.

Reads it as 2024-03-01

Use it

Shell
finetype infer -i 'Jan 2024' --mode column
# → datetime.date.month_year_abbrev
DuckDB
SELECT ft_infer('Jan 2024');
-- → 'datetime.date.month_year_abbrev'
Cast template: {col} is your column
strptime('01 ' || upper(substr({col}, 1, 1)) || lower(substr({col}, 2, 2)) || ' ' || substr({col}, length({col}) - 3), '%d %b %Y')::DATE
-- Format: %b %Y

How finetype reads the samples

DuckDB 1.5.5 · finetype 0.6.66

ValueAs DATE
Jan 20242024-01-01
Dec 20232023-12-01
Jun 20002000-06-01
JAN 20242024-01-01
Sept 20262026-09-01
June 20262026-06-01
%b
abbreviated month name
%Y
four-digit year

Pattern

Regular expression
^(?:Jan|JAN|Feb|FEB|Mar|MAR|Apr|APR|May|MAY|June?|JUNE?|July?|JULY?|Aug|AUG|Sept?|SEPT?|Oct|OCT|Nov|NOV|Dec|DEC) \d{4}$
ValueLengthShape
Jan 20248matches
Dec 20238matches
Jun 20008matches
JAN 20248matches
Sept 20269matches
June 20269matches
Jan 2027rejected: one character short

Background

Origin

The Unicode Consortium's LDML specification describes date formats by skeletons, which contain only field information in a canonical order.[1] In the LDML date field symbol table, the pattern MMM stands for the abbreviated month name, with Sep as its example.[1] The LDML specification lists yMMM among its example available formats, mapped to the pattern MMM yyyy.[1] In CLDR's English Gregorian calendar data, the yMMM skeleton is given the pattern MMM y.[2] CLDR's English abbreviated month names are Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov and Dec.[2]

Use

For Python's datetime.strptime, any component not given in the format string is taken from the default 1900-01-01T00:00:00.000.[3]

How it's detected

Financial dashboards, CLDR yMMM skeleton. The twelve months in title or upper case (Jan, JAN), plus the longer forms Sept, June and July that the US BLS writes. The transform reads the first letter in upper case, the next two in lower case and the final four digits, so Sept, June and July all read as Sep, Jun and Jul. format_string and the frictionless format (%b) cover the three-letter title-case form only; Sept, June, July and upper case parse through the transform. Full month names (January 2024) are not this type; they are month_year_full.

Schema

https://meridian.online/schemas/datetime.date.month_year_abbrev · Frictionless type date · %b %Y

finetype taxonomy datetime.date.month_year_abbrev -o json-schema

Type Registry