Template:Dts/doc
This is a documentation subpage for Template:Dts. It contains usage information, categories, and other content that is not part of the original template page. |
This template is used on approximately 28,000 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
Please check that you do actually need this template before using it. Default date sorting does not work for spelled-out month–year or year–month combos and dates before the year 100, but it works in most other circumstances. For more information, see Help:Sorting § Date sorting problems. |
This template should not be used in citation templates such as Citation Style 1 and Citation Style 2, because it includes markup that will pollute the COinS metadata they produce; see Wikipedia:COinS. |
Uses Lua: |
Date table sorting is used to correctly sort and display dates in a sortable table (see Help:Sorting).
What it solves[edit]
Dates in their customary formats, if simply treated as alphanumeric text strings, sort in nonsensical ways:
- 1 September 1998 sorts alphanumerically before 5 March 1967, because 1 is less than 5;
- February 5, 1922 sorts alphanumerically before January 3, 1922, because F comes before J.
Use of the YYYY-MM-DD format would solve this problem, but with minor exceptions that format is not used in articles (see WP:DATEFORMAT).
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]
Dates[edit]
{{Dts|year|month|day|BC}} | {{Dts|date}} |
---|---|
|
|
Formatting[edit]
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.
Abbreviation[edit]
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
Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row |
---|
Additional sort key[edit]
In case two dates in a table are identical they may be ordered using the addkey
parameter.
input code | hidden sort key | visible output
Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row Template:Dts/testcases/row |
---|
Wrapping[edit]
To turn off the suppression of word wraps, use the nowrap=off
parameter.
TemplateData[edit]
Date table sorting is used to correctly sort and display dates in a sortable table.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Full date or year | 1 | Full date if second to fourth parameters are not specfied, otherwise year. Full date can be either in "YYYY-MM-DD", "DD-MM-YYYY", "DD Month YYYY", "Month DD, YYYY", "YYYY-MM", "DD Month", "Month DD", "Month YYYY" or "Month" format. Year is either a positive number or a negative number. If fourth parameter is not specified negative numbers are interpreted as years of BC era. Parameter is optional if the second parameter is specified.
| String | optional |
Month | 2 | Full or abbreviated month name or alternatively, a month number which can be zero-padded. Parameter is optional if the third parameter is not specified.
| String | optional |
Day | 3 | Day, optionally zero-padded
| Number | optional |
Era | 4 | BC, AD, BCE or CE. Takes effect only if the first parameter is a postive number. | String | optional |
Format | format | Controls the output format. Can be "dmy", "dm", "mdy", "md", "my", "d", "m", "y" or "hide". | String | optional |
Abbreviation | abbr | Abbreviates the month name
| String | optional |
Additional sort key | addkey | Adds another sort key to resolve conflicts between rows with the same date
| Number | optional |
Wrapping | nowrap | To turn off the suppression of word wraps, use the "off" parameter
| String | optional |
Notes[edit]
Sorting for incomplete dates[edit]
- 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]
Errors are tracked in Category:Date table sorting templates with errors.
Calendar choice[edit]
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.
Linking[edit]
The template formerly linked dates automatically, with link=off
used to suppress linking. In accordance with current guidelines linking of dates is no longer supported and instances of link=off
should be removed.
See also[edit]
- {{sort}}, sorting by a specified key (also good for complicated numbers, e.g. scientific notation)
- {{sortname}}, full name sorting (using "last name, first name" as default sort key)
- {{tts}}, for sorting times in result tables of athletic events (only needed in certain cases - see template documentation)
- {{Number table sorting}}, for numbers