# Abbreviated Month Year

Key: `datetime.date.month_year_abbrev`

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

Page: <https://meridian.online/docs/finetype/types/datetime/date/month_year_abbrev>

Format: `%b %Y`

Samples: `Jan 2024`, `Dec 2023`, `Jun 2000`, `JAN 2024`, `Sept 2026`, `June 2026`

## Use it

Shell

```shell
finetype infer -i 'Jan 2024' --mode column
# → datetime.date.month_year_abbrev
```

DuckDB

```sql
SELECT ft_infer('Jan 2024');
-- → 'datetime.date.month_year_abbrev'
```

Cast template: {col} is your column

```sql
strptime('01 ' || upper(substr({col}, 1, 1)) || lower(substr({col}, 2, 2)) || ' ' || substr({col}, length({col}) - 3), '%d %b %Y')::DATE
-- Format: %b %Y
```

## Background

### Origin

The Unicode Consortium's LDML specification describes date formats by skeletons, which contain only field information in a canonical order.[[1]](https://www.unicode.org/reports/tr35/tr35-dates.html) In the LDML date field symbol table, the pattern MMM stands for the abbreviated month name, with Sep as its example.[[1]](https://www.unicode.org/reports/tr35/tr35-dates.html) The LDML specification lists yMMM among its example available formats, mapped to the pattern MMM yyyy.[[1]](https://www.unicode.org/reports/tr35/tr35-dates.html) In CLDR's English Gregorian calendar data, the yMMM skeleton is given the pattern MMM y.[[2]](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/en/ca-gregorian.json) CLDR's English abbreviated month names are Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov and Dec.[[2]](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/en/ca-gregorian.json)

### 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]](https://docs.python.org/3/library/datetime.html)

## Sources

1. [Unicode Locale Data Markup Language (LDML) Part 4: Dates](https://www.unicode.org/reports/tr35/tr35-dates.html) — standard
2. [ca-gregorian.json](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/en/ca-gregorian.json) — dataset
3. [datetime — Basic date and time types](https://docs.python.org/3/library/datetime.html) — documentation

## 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.
