Template:Dts
Template documentation [view]
Dts (date time sorting) is used to correctly sort and display dates in a sortable table (see Help:Sorting on Wikipedia).
What it solves[edit source]
Dates in their customary formats, if simply treated as alphanumeric text strings, sort in nonsensical ways:
- 1/8/2013 sorts alphanumerically before 5/3/1967, because 1 is less than 5;
- February 5, 1922 sorts alphanumerically before January 3, 1922, because F comes before J.
This template automatically attaches a "hidden key" to dates, causing them to sort correctly while still being displayed in one of the customary display formats such as February 5, 1922 or 5 Feb 1922.
Parameters[edit source]
Dates[edit source]
{{dts|year|month|day|BC}} | {{dts|date}} |
---|---|
|
|
input style | input code | hidden sort key | visible output |
---|---|---|---|
{{dts|year}} | {{dts|1893}}
|
1893 | |
{{dts|-89}}
|
89 BC | ||
{{dts|-10000}}
|
10,000 BC | ||
{{dts|month}} | {{dts|Oct}}
|
Oct | |
{{dts|month year}} | {{dts|February 1767}}
|
February 1767 | |
{{dts|day month year}} | {{dts|12 Aug 1987}}
|
12 Aug 1987 | |
{{dts|month day, year}} | {{dts|July 1, 1867}}
|
July 1, 1867 | |
{{dts|day month}} | {{dts|25 October}}
|
25 October | |
{{dts|month day}} | {{dts|Jan 1}}
|
Jan 1 | |
{{dts|YYYY-MM-DD}} | {{dts|2014-12-09}}
|
December 9, 2014 | |
{{dts|year|month}} | {{dts|1990|10}}
|
October 1990 | |
{{dts|1980|Dec}}
|
Dec 1980 | ||
{{dts|1970|August}}
|
August 1970 | ||
{{dts|year|month|day}} | {{dts|2024|Jun|12}}
|
Jun 12, 2024 | |
{{dts|-204|11|22}}
|
November 22, 204 BC | ||
{{dts|year|month|day|era}} | {{dts|44|3|15|BC}}
|
March 15, 44 BC | |
{{dts|94|Oct|17|AD}}
|
Oct 17, 94 | ||
{{dts||month}} | {{dts||May}}
|
May | |
{{dts||month|day}} | {{dts||Sep|12}}
|
Sep 12 |
Formatting[edit source]
Using format
produces a format that depends on, but is not necessarily equal to the format of the supplied date. The format
parameter can take nine values.
value | function | input code | hidden sort key | visible output |
---|---|---|---|---|
format depends on the input | {{dts|26 Jan 1788}}
|
26 Jan 1788 | ||
{{dts|March 12, 1557}}
|
March 12, 1557 | |||
{{dts|1975-02-13}}
|
February 13, 1975 | |||
dmy |
displays the date in day-month-year format | {{dts|Sep 13, 1888|format=dmy}}
|
13 Sep 1888 | |
{{dts|1983-01-03|format=dmy}}
|
3 January 1983 | |||
dm |
displays only the day and month in day-month format | {{dts|Feb 26, 1788|format=dm}}
|
26 Feb | |
{{dts|2020-10-15|format=dm}}
|
15 October | |||
mdy |
displays the date in month-day-year format | {{dts|August 31, 1901|format=mdy}}
|
August 31, 1901 | |
{{dts|2006-11-08|format=mdy}}
|
November 8, 2006 | |||
md |
displays only the day and month in month-day format | {{dts|26 Jun 1988|format=md}}
|
Jun 26 | |
{{dts|2002-02-27|format=md}}
|
February 27 | |||
my |
displays only the month and year in month-year format | {{dts|16 November 1488|format=my}}
|
November 1488 | |
d |
displays only the day | {{dts|6 July 1666|format=d}}
|
6 | |
m |
displays only the month | {{dts|1980-02-12|format=m}}
|
February | |
y |
displays only the year | {{dts|-26|Jan|18|format=y}}
|
26 BC | |
hide |
hides the date | {{dts|15 October 1800|format=hide}}
|
Abbreviation[edit source]
There are two ways of abbreviating the month name.
- Directly input an abbreviated month name.
- Use the
abbr=on
parameter.
abbreviation method | input code | hidden sort key | visible output |
---|---|---|---|
none | {{dts|2000-01-01}}
|
January 1, 2000 | |
{{dts|2000|1|1}}
|
January 1, 2000 | ||
{{dts|1 January 2000}}
|
1 January 2000 | ||
{{dts|2000|January|1}}
|
January 1, 2000 | ||
abbreviated input | {{dts|1 Jan 2000}}
|
1 Jan 2000 | |
{{dts|2000|Jan|1}}
|
Jan 1, 2000 | ||
abbr=on |
{{dts|1 January 2000|abbr=on}}
|
1 Jan 2000 | |
{{dts|2000|January|1|abbr=on}}
|
Jan 1, 2000 | ||
{{dts|2000-01-01|abbr=on}}
|
Jan 1, 2000 | ||
{{dts|2000|1|1|abbr=on}}
|
Jan 1, 2000 |
Additional sort key[edit source]
In case two dates in a table are identical they may be ordered using the addkey
parameter.
input code | hidden sort key | visible output |
---|---|---|
{{dts|2010-10-10|addkey=3}}
|
October 10, 2010 | |
{{dts|2010-10-09}}
|
October 9, 2010 | |
{{dts|2010-10-10|addkey=1}}
|
October 10, 2010 | |
{{dts|2010-10-10}}
|
October 10, 2010 | |
{{dts|2010-10-10|addkey=4}}
|
October 10, 2010 | |
{{dts|2010-10-11}}
|
October 11, 2010 | |
{{dts|2010-10-10|addkey=2}}
|
October 10, 2010 |
Wrapping[edit source]
To turn off the suppression of word wraps, use the nowrap=off
parameter.
Notes[edit source]
Sorting for incomplete dates[edit source]
- Whole months or years
- A whole year or month (and year) is sorted according to its first day.
- Missing years
- If the year is not specified, the date will be sorted as if the year were the current year.
- Blank dates
- For no date input at all, the maximum possible sort key is used, so the entry will sort last.
Error handling[edit source]
Entering an invalid date format will (generally) produce an error message such as the one below.
Error in Template:Dts: days must be an integer between 1 and 31
Errors are tracked in Category:Dts templates with errors.
Calendar choice[edit source]
The template is not capable of distinguishing Julian and Gregorian calendar dates. Also, it is not capable of taking a date in one calendar as input and outputting a date in the other calendar. Thus, to insure proper sorting, editors must either use one calendar for all dates, or pick a specific changeover date (for example, deciding that 4 October 1582 is Julian and all later dates are Gregorian); this would be done on an article-by article basis. Editors are also responsible for explaining to the reader whether the visible dates are Julian or Gregorian, if there is any possibility of confusion.