Help:Date formatting and linking
This page is kept for historical interest. Any policies mentioned may be obsolete. If you want to revive the topic, you can use the talk page or start a discussion on the community forum. |
The date formatting feature (autoformatting of dates), enabled by setting $wgUseDynamicDates to true, applies to linked dates in certain formats. It can cause link targets and/or the appearance to be different from what would follow from the general wikitext syntax. Also, the appearance depends on the preference setting for the date format. The latter also affects dates and times produced by the system in Recent Changes etc.
The feature has not been available since MediaWiki 1.21.
Wikitexts and user-dependent results
editThe following is rendered depending on preferences (putting a comma and/or a space between the links, or starting month names with a capital gives the same result):
*month/day link target "{{CURRENTMONTHNAME}} {{CURRENTDAY}}": **[[{{CURRENTYEAR}}-01-{{CURRENTDAY2}}]] or [[{{CURRENTYEAR}}]]-[[01-{{CURRENTDAY2}}]] (with leading zeros) **[[{{CURRENTYEAR}}]][[{{CURRENTMONTHNAME}} {{CURRENTDAY}}]] **[[{{CURRENTYEAR}}]][[{{CURRENTDAY}} {{CURRENTMONTHNAME}}]] **[[{{CURRENTMONTHNAME}} {{CURRENTDAY}}]][[{{CURRENTYEAR}}]] **[[{{CURRENTDAY}} {{CURRENTMONTHNAME}}]][[{{CURRENTYEAR}}]] **[[{{CURRENTMONTHNAME}} {{CURRENTDAY}}]] **[[{{CURRENTDAY}} {{CURRENTMONTHNAME}}]] *month/day link target "{{CURRENTMONTHNAME}} {{CURRENTDAY2}}": **[[{{CURRENTYEAR}}]][[{{CURRENTMONTHNAME}} {{CURRENTDAY2}}]] **[[{{CURRENTYEAR}}]][[{{CURRENTDAY2}} {{CURRENTMONTHNAME}}]] **[[{{CURRENTMONTHNAME}} {{CURRENTDAY2}}]][[{{CURRENTYEAR}}]] **[[{{CURRENTDAY2}} {{CURRENTMONTHNAME}}]][[{{CURRENTYEAR}}]] **[[{{CURRENTMONTHNAME}} {{CURRENTDAY2}}]] **[[{{CURRENTDAY2}} {{CURRENTMONTHNAME}}]] *month/day link target "Jan {{CURRENTDAY}}": **[[{{CURRENTYEAR}}]][[jan {{CURRENTDAY}}]] **[[{{CURRENTYEAR}}]][[{{CURRENTDAY}} jan]] **[[jan {{CURRENTDAY}}]][[{{CURRENTYEAR}}]] **[[{{CURRENTDAY}} jan]][[{{CURRENTYEAR}}]] **[[jan {{CURRENTDAY}}]] **[[{{CURRENTDAY}} jan]] *month/day link target "Jan {{CURRENTDAY2}}": **[[{{CURRENTYEAR}}]][[jan {{CURRENTDAY2}}]] **[[{{CURRENTYEAR}}]][[{{CURRENTDAY2}} jan]] **[[jan {{CURRENTDAY2}}]][[{{CURRENTYEAR}}]] **[[{{CURRENTDAY2}} jan]][[{{CURRENTYEAR}}]] **[[jan {{CURRENTDAY2}}]] **[[{{CURRENTDAY2}} jan]]
With your current preference setting on this project this gives:
- month/day link target "November 19":
- 2024-01-19 (by default 2024-01-19, which is the result of each of the 19 full date formats with option yyyymmdd)
- 2024November 19 (by default 2024 November 19, which is the result of each of the 19 full date formats with option ymd)
- 202419 November (by default 2024, 19 November, which cannot be set as preference)
- November 192024 (by default November 19, 2024, which is the result of each of the 19 full date formats with option mdy)
- 19 November2024 (by default 19 November 2024, which is the result of each of the 19 full date formats with option dmy)
- November 19 (always November 19 except with option dmy)
- 19 November (always 19 November except with option mdy)
- month/day link target "November 19":
- month/day link target "Jan 19":
- month/day link target "Jan 19":
Link targets
editThe link targets are independent of the user-specified date format. The year has no leading zeros, e.g. "2007", "7", "7 BC". For the date 19 November 2024, apart from "2024", they are "November 19", "November 19", "Jan 19", or "Jan 19", depending on the wikitext. [[{{CURRENTYEAR}}]]-[[01-{{CURRENTDAY2}}]] produces links to "2024" and "November 19". Although [[{{CURRENTYEAR}}-01-{{CURRENTDAY2}}]] has the form of a single link, it produces the same two links.
Unlinked date
editIf the date needs not be linked, and the links that have to be created for autoformatting are even undesirable (because they clutter the page, or invite to create unneeded pages) the date cannot be autoformatted. See also the extension mentioned below to allow autoformatting anyway.
Link to date content other than required for autoformatting
editIf the links that have to be created for autoformatting do not include those with the desired target(s), we can choose between:
- using a fixed date format (so the user-preferences do not apply), and provide a link as desired
- apply autoformatting, but add the desired link at the end
Whether to link to a year page, a month page, or a day page, depends on factors such as whether a year page would get too large to hold all content about the year; if so, both a link to a summary year page and a detailed month page could be useful. Either way, it would be useful to link to the section concerned.
From some sites other than Wikipedia, if we want to link to general content about a year, month or day, we may want to link to Wikipedia instead of to an internal page.
Linking a date to date content is not only useful for accessing that content, but also for the backlink: to find pages linking to a particular year, month or day. This gives us a list of events (and subjects related to events) that happened in (or are at least related to) that time period. This also allows easy checking of completeness and consistency of the source and target page.
Examples of links:
- 19 March 2007 (19 March 2007)
- 19 March 2007 (19 March 2007)
- 19 March 2007 [1] (linking to the separate page about this date); backlinks of this type: [2]
- 19 March 2007 [3] (linking to the section of the month page); backlinks of this type: [4]
The day number in the anchor in w:Portal:Current events/DateHeader2, when below 10, has a leading zero. This avoids that asking for backlinks of 1 March also gives pages linking to 10 March etc.
In the case of linking to a separate page about a date this would require the leading zero in the page title, unless even in a link to such a page, we link to the anchor. For example, link 10 March 2007 [5] causes a false result when we ask for backlinks of 1 March: [6]. On the other hand, link 10 March 2007 [7] causes no false result when we ask for backlinks of 1 March: [8]
Usage of the links
editIf we do use the date formatting feature we get links to e.g. "2007", "7", "7 BC", so it is practical to use these pagenames, not e.g. "Year 2007", "0007", or "7 B.C.". If not we can create a redirect.
Also we get a link to "November 19", "November 19", "Jan 19", or "Jan 19", so if we want to create pages on days of the year it is practical to choose one of these four pagename formats, and not e.g. "19 November". Again, if such names are not desired we can use redirects. Also, if the content concerned is in a section of a page we can redirect to that section.
Anyway, links like simple:Special:Whatlinkshere/2007 and simple:Special:Whatlinkshere/November 19 can be used even if the link targets do not exist.
Appearances
editOption "default": the appearance is as without the date formatting feature, except:
- the wikitext [[{{CURRENTYEAR}}-01-{{CURRENTDAY2}}]] gives the same appearance as [[{{CURRENTYEAR}}]]-[[01-{{CURRENTDAY2}}]]
- if the day is in the center, a comma is put at the year side, if it is not there yet
- if the day is not in the center, a possible comma is removed
Option "mdy": format [[m d]], [[y]] or [[m d]]
Option "dmy": format [[m d|d m]] [[y]] or [[m d|d m]]
Option "ymd": format [[y]] [[m d]] or [[m d]]
Option "yyyymmdd":
- format [[y]]-[[m-d]] with numeric m, and m and d with leading zeros.
- without year: appearance as without the date formatting feature
Years before 1000
editFor years in the range 1-999, in the case of month numbers the year has to be padded with zeros; the link target for the year has to have leading zeros:
*month/day link target "{{CURRENTMONTHABBREV}}ari {{CURRENTDAY}}": **[[0011-01-{{CURRENTDAY2}}]] or [[0011]]-[[01-{{CURRENTDAY2}}]] **[[11]][[{{CURRENTMONTHNAME}} {{CURRENTDAY}}]] **[[11]][[{{CURRENTDAY}} {{CURRENTMONTHNAME}}]] **[[{{CURRENTMONTHNAME}} {{CURRENTDAY}}]][[11]] **[[{{CURRENTDAY}} {{CURRENTMONTHNAME}}]][[11]] *[[{{CURRENTMONTHNAME}} 99]] *[[{{CURRENTMONTHNAME}} 100]]
With your current preference setting on this project this gives:
- month/day link target "Novari 19":
Thus a number below 100 is treated as a date of the month.
For years B.C. we get link targets of the form "12 BC":
*month/day link target "{{CURRENTMONTHABBREV}}ari {{CURRENTDAY}}": **[[-0011-01-{{CURRENTDAY2}}]] or [[-0011]]-[[01-{{CURRENTDAY2}}]] **[[12 BC]][[{{CURRENTMONTHNAME}} {{CURRENTDAY}}]] **[[12 BC]][[{{CURRENTDAY}} {{CURRENTMONTHNAME}}]] **[[{{CURRENTMONTHNAME}} {{CURRENTDAY}}]][[12 BC]] **[[{{CURRENTDAY}} {{CURRENTMONTHNAME}}]][[12 BC]]
With your current preference setting on this project this gives:
- month/day link target "Novari 19":
User-dependent section title
editIf a section title contains a link in a format such that the date formatting feature applies, the section title is user-dependent. However, for section linking this would require a link target that is correspondingly user-dependent, which does not seem possible with the current software without some special extension. Therefore it is better not to use a real section but a special-font header in user-dependent format with an explicitly defined anchor in a fixed date format, see w:Portal:Current events/DateHeader2 (talk). One can use e.g. Template:Datelink or the somewhat different w:Template:Datelink to link to it.
Sorting
editFor chronological table sorting the format [[YYYY-MM-DD]] works directly; in other cases date sorting only works if a table has been specially adapted for that purpose. An additional effect of selecting this preference is that Recent Changes, User Contributions, etc., also gives seconds: "HH:mm:SS", or with the date: "YYYY-MM-DDTHH:mm:SS".
Wikitext for which the date formatting feature does not apply
editWith a piped link the date formatting feature is disabled. In particular this can be used to link to "19 November", etc.
*Piped link: **[[{{CURRENTDAY}} {{CURRENTMONTHNAME}}|]] [[{{CURRENTYEAR}}]] *Numeric date format without leading zeros: **[[{{CURRENTYEAR}}-1-{{CURRENTDAY}}]] **[[{{CURRENTYEAR}}]]-[[1-{{CURRENTDAY}}]] *Numeric date format without year: **[[01-{{CURRENTDAY2}}]] *Non-standard month name: **[[{{CURRENTYEAR}}]] [[{{CURRENTMONTHABBREV}} {{CURRENTDAY}}]] **[[{{CURRENTYEAR}}]] [[{{CURRENTMONTHABBREV}} {{CURRENTDAY2}}]] **[[{{CURRENTMONTHABBREV}} {{CURRENTDAY}}]], [[{{CURRENTYEAR}}]] **[[{{CURRENTMONTHABBREV}} {{CURRENTDAY2}}]], [[{{CURRENTYEAR}}]] **[[{{CURRENTMONTHABBREV}} {{CURRENTDAY}}]] [[{{CURRENTYEAR}}]] **[[{{CURRENTMONTHABBREV}} {{CURRENTDAY2}}]] [[{{CURRENTYEAR}}]] **[[{{CURRENTDAY}} {{CURRENTMONTHABBREV}}]] [[{{CURRENTYEAR}}]] **[[{{CURRENTDAY2}} {{CURRENTMONTHABBREV}}]] [[{{CURRENTYEAR}}]] **[[{{CURRENTMONTHABBREV}} {{CURRENTDAY}}]] **[[{{CURRENTMONTHABBREV}} {{CURRENTDAY2}}]] **[[{{CURRENTDAY}} {{CURRENTMONTHABBREV}}]] **[[{{CURRENTDAY2}} {{CURRENTMONTHABBREV}}]]
gives:
- Piped link:
- Numeric date format without leading zeros:
- Numeric date format without year:
- Non-standard month name:
Unfortunately, when linking to content about a specific date (with a separate page, a section of a page, or another anchor) the date formatting feature cannot be used for the link label, so the label is fixed, not user-dependent.
When linking to another site (with an interwiki link or external link) the label cannot be user-dependent either.
Example:
- [[w:Portal:Current events/2007 March {{CURRENTDAY}}|{{CURRENTDAY}} March 2007]] gives 19 March 2007.
When pages describing events link like this to the dates they happened or will happen (with internal links, not interwiki links) we can find the events on a given date with e.g. w:Special:Whatlinkshere/Portal:Current_events/2007 March 19.
Date range
editAttempts:
- 14–26 November 2006
- November 14–26 2006
- November 14–November 26 2006
- 14 November–26 November 2006
- 14 November 2006–26 November 2006
Only the last, cumbersome, way does not give strange results in any user-specified date format. Since the date-formatting feature does not work well here one may choose not to use it in this case; that also gives the freedom to choose link targets exactly as desired, e.g.:
- [[w:Portal:Current events/2006 November 14|14]]–[[w:Portal:Current events/2006 November 26|26 November 2006]] giving 14–26 November 2006
or
- [[w:November 2006#2006 November 14|14–26 November 2006]] giving 14–26 November 2006.
See also date ranges (discussion).
List of dates
editWith preference mdy, in a list of dates, grouping parts of dates to full dates may be ambiguous:
[[1 {{CURRENTMONTHNAME}}]] [[{{CURRENTYEAR}}]], [[2 February]] [[2002]] gives 1 November 2024, 2 February 2002.
- dmy: 1 November 2024, 2 February 2002
- mdy: November 1, February 2, 2024, 2002
- ymd: 2024 November 1, 2002 February 2
- yyyymmdd: 2024-01-01, 2002-02-02
- no pref: 1 November 2024, 2 February 2002
[[November 1]] [[2024]], [[February 2]] [[2002]] gives November 1 2024, February 2 2002.
- dmy: 1 November 2024, 2 February 2002
- mdy: November 1, February 2, 2024, 2002
- ymd: 2024 November 1, 2002 February 2
- yyyymmdd: 2024-01-01, 2002-02-02
- no pref: November 1, 2024 February 2, 2002
Accessibility of date preference for branching
editThe date format cannot be detected with #ifeq, because the date format is converted after expansion of parser functions.
See also
edit- Template:Datelink
- w:Template:Datelink
- Date preferences screenshot
- m:Dynamic dates
- date style on the English Wikipedia (talk) - dates on the English Wikipedia are no longer linked just for the date-formatting feature
- w:Wikipedia:Date debate
- bugzilla:4582 - use date format preference on unlinked dates
- mw:Extension:FormatDates - tags <date>..</date> for autoformatting dates without producing links (and, presumably, to allow an autoformatted date as link label in a link with a target of choice)
- DateParser[dead link]
Links to other help pages
- Help contents
- Meta · Wikinews · Wikipedia · Wikiquote · Wiktionary · Commons: · Wikidata · MediaWiki · Wikibooks · Wikisource · MediaWiki: Manual · Google
- Versions of this help page (for other languages see further)
- What links here on Meta or from Meta · Wikipedia · MediaWiki
- Reading
- Go · Search · Namespace · Page naming · Section · Backlinks · Redirect · Category · Image page · Special pages · Printing
- Tracking changes
- Recent changes (enhanced) | Related changes · Watching pages · Diff · Page history · Edit summary · User contributions · Minor edit · Patrolled edit
- Logging in and preferences
- Logging in · Preferences
- Editing
- Starting a new page · Advanced editing · Editing FAQ · Export · Import · Shortcuts · Edit conflict · Page size
- Referencing
- Links · URL · · Footnotes
- Style and formatting
- Wikitext examples · CSS · Reference card · HTML in wikitext · Formula · Lists · Table · Sorting · Colors · Images and file uploads
- Fixing mistakes
- Show preview · Reverting edits
- Advanced functioning
- Expansion · Template · Advanced templates · Parser function · Magic words · System message · Substitution · Arrays · Expr parser function syntax · Transclusion
- Others
- Special characters · Renaming (moving) a page · Preparing a page for translation · Talk pages · Signatures · Sandbox · Legal issues for editors