# Short Date (Day-Month-Year, 2-digit year)

Key: `datetime.date.short_dmy`

Two-digit year, day-first. Dash-separated. Common in legacy systems and short-form data entry.

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

Format: `%d-%m-%y`

Samples: `15-01-24`, `31-12-99`

## Use it

Shell

```shell
finetype infer -i '15-01-24' --mode column
# → datetime.date.short_dmy
```

DuckDB

```sql
SELECT ft_infer('15-01-24');
-- → 'datetime.date.short_dmy'
```

Cast template: {col} is your column

```sql
strptime({col}, '%d-%m-%y')::DATE
-- Format: %d-%m-%y
```

## Written by

Each locale below writes this format with its CLDR date pattern at the styles named beside it.

`es` (CL) short · `fy` short · `rm` short · `te` short

## Background

### Origin

Unicode CLDR's locale data for es-CL gives dd-MM-yy as the short Gregorian date pattern.[[1]](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/es-CL/ca-gregorian.json) CLDR's locale data for fy gives dd-MM-yy as the short Gregorian date pattern.[[2]](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/fy/ca-gregorian.json) CLDR's locale data for rm gives dd-MM-yy as the short Gregorian date pattern.[[3]](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/rm/ca-gregorian.json) CLDR's locale data for te gives dd-MM-yy as the short Gregorian date pattern.[[4]](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/te/ca-gregorian.json)

The Netherlands records dates in day–month–year order, with 31-12-1999 given as an example.[[5]](https://en.wikipedia.org/wiki/Date_and_time_notation_in_the_Netherlands) In Dutch date notation, dashes are typically used as separators, although slashes are used as well.[[5]](https://en.wikipedia.org/wiki/Date_and_time_notation_in_the_Netherlands) In less formal Dutch texts, years may be shortened with an apostrophe when the century can be deduced from context.[[5]](https://en.wikipedia.org/wiki/Date_and_time_notation_in_the_Netherlands) Treat a Dutch file written with two-digit years as an informal abbreviation, and settle its century from context before you parse it. (Meridian's view)

### Use

Depending on the order style, the abbreviated date 01/11/06 can be read as 1 November 2006 for DMY, among other readings.[[6]](https://en.wikipedia.org/wiki/List_of_date_formats_by_country) A value such as 05-06-24 reads equally well as 5 June or 6 May, so a column whose first field never exceeds 12 cannot be told apart from month-first dashed dates by its values alone; look for a day above 12, the file's documentation or its country of origin before you commit to an order. (Meridian's view) pandas.to\_datetime with dayfirst=True parses 10/11/12 as 2012-11-10.[[7]](https://pandas.pydata.org/docs/reference/api/pandas.to_datetime.html) The pandas documentation warns that dayfirst=True is not strict, but will prefer to parse with day first.[[7]](https://pandas.pydata.org/docs/reference/api/pandas.to_datetime.html)

DuckDB's %y specifier turns 00 to 68 into 2000 to 2068 and 69 to 99 into 1969 to 1999.[[8]](https://duckdb.org/docs/current/sql/functions/dateformat) Python's time.strptime converts two-digit %y years according to the POSIX and ISO C standards, mapping 69–99 to 1969–1999 and 0–68 to 2000–2068.[[9]](https://docs.python.org/3/library/time.html) Decide the century yourself before you cast, especially for birth dates and older records, rather than trusting whichever window a tool happens to apply. (Meridian's view) Microsoft advises typing year values as four digits, for example 2001 rather than 01, so that they are interpreted as intended.[[10]](https://support.microsoft.com/en-us/excel/change-the-date-system-format-or-two-digit-year-interpretation) Where you control the export, write four-digit years or ISO 8601 dates instead of this short form. (Meridian's view)

## Sources

1. [cldr-json/cldr-dates-full/main/es-CL/ca-gregorian.json](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/es-CL/ca-gregorian.json) — documentation
2. [cldr-json/cldr-dates-full/main/fy/ca-gregorian.json](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/fy/ca-gregorian.json) — documentation
3. [cldr-json/cldr-dates-full/main/rm/ca-gregorian.json](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/rm/ca-gregorian.json) — documentation
4. [cldr-json/cldr-dates-full/main/te/ca-gregorian.json](https://raw.githubusercontent.com/unicode-org/cldr-json/main/cldr-json/cldr-dates-full/main/te/ca-gregorian.json) — documentation
5. [Date and time notation in the Netherlands](https://en.wikipedia.org/wiki/Date_and_time_notation_in_the_Netherlands) — secondary source
6. [List of date formats by country](https://en.wikipedia.org/wiki/List_of_date_formats_by_country) — secondary source
7. [pandas.to\_datetime — pandas 3.0.6 documentation](https://pandas.pydata.org/docs/reference/api/pandas.to_datetime.html) — documentation
8. [Date Format Functions](https://duckdb.org/docs/current/sql/functions/dateformat) — documentation
9. [time — Time access and conversions — Python 3.15.0 documentation](https://docs.python.org/3/library/time.html) — documentation
10. [Change the date system, format, or two-digit year interpretation \| Microsoft Support](https://support.microsoft.com/en-us/excel/change-the-date-system-format-or-two-digit-year-interpretation) — documentation

## How it's detected

Ambiguous with short\_mdy in single-value mode (same regex pattern). Column-mode disambiguation: if any value has first component \> 12, it's DMY.
