Misplaced Pages

Template:Date

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by Fullstop (talk | contribs) at 06:42, 25 January 2008 (new *** substitutable only ***). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 06:42, 25 January 2008 by Fullstop (talk | contribs) (new *** substitutable only ***)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff) Template documentation[view] [edit] [history] [purge] For dates formatted with the #time parser function, see mw:Help:Extension:ParserFunctions § .23time.
WarningThis template is used on approximately 49,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.
This template should only be used internally in other templates.

Description

This template converts a date to one of the standard date formats used on the English Misplaced Pages.

This template should only be used internally in other templates.

If you want sortable dates for a table, use {{date table sorting}} instead.

Syntax

This template takes up to two parameters, both of which are optional:

{{date|<date to be formatted>|<date formatting style>}}

  • <date to be formatted> is an (optional) date to be formatted.
    If no date is specified, the template emits the current date.
    For example, {{date}} produces {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}. To avoid emitting the current date if none is input, use Template:fdate.
    If a date is provided, but is not recognized as one, the text is just returned as is. Most dates will however be recognized as such, including all the formats typically used on Misplaced Pages. Numerous variations thereof are also supported, including abbreviated or lower-case month names; ordinal "st", "nd", "rd", "th"; extraneous white space; missing comma, etc.
    Notes:
    • Some dates are converted even if they are not real dates, and some dates are not converted even though they are real dates. See known issues below.
    • Only dates within the range {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} and {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} are supported. Dates with two-digit years will have the years from 1970 to 2069. Other dates outside the range 1000–9999 will be treated as if the second parameter were "none".
    • when using month numbers in numeric, the valid formats are MM/DD/YYYY, DD-MM-YYYY, DD.MM.YYYY, YYYY/MM/DD, YYYY-MM-DD, MM/DD/YY, YY-MM-DD, DD.MM.YY, the invalid formats are DD/MM/YYYY, MM-DD-YYYY, MM.DD.YY, YYYY.MM.DD, MM.DD.YYYY, DD-MM-YY, YY/MM/DD, DD/MM/YY, YY.MM.DD
  • <date formatting style> controls the date format in which the result is to be emitted. Recognized values for the second parameter are:
    • DMY gives d mmmm yyyy (e.g. {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}). This is the default format.
    • MDY gives mmmm d, yyyy (e.g. {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
    • YMD gives yyyy mmmm d (e.g. {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
    • ISO gives an ISO 8601 style yyyy-mm-dd (e.g. {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
    • none applies no formatting whatsoever
    If a date to be formatted is provided but no style is specified, the template emits a date in "d month yyyy" format, as it appears (for example) on discussion pages. When no date is specified, then the current date is emitted with no year, either in "d month" format for formatting style DMY, or in "month d" format for formatting styles MDY, YMD and ISO.
    Notes:
    • Although these are the four formats supported by MediaWiki's date autoformatting mechanism, only DMY/lDMY and MDY/lMDY are in accordance with the English language Misplaced Pages's Manual of Style. The use of ISO/lISO (ISO 8601) format within article prose is expressly discouraged by the Manual of Style; this format should only be used in tables, lists, or references.
    • In each case, the result is exactly the same as what would be emitted by MediaWiki's date autoformatting mechanism.However, dates are not manipulated by MediaWiki's date autoformatting mechanism even when linked. This permits dates to have a consistent appearance regardless of whether they are linked or not.
    • Misplaced Pages caches the current version of pages, and the template may display the date that the page was cached, rather than the current date.

Examples

With valid input

Format Input Output
not specified {{date|2006-08-04}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4, 2006}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August 2006}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (missing year)
{{date}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|2=}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
DMY format {{date|2006-08-04|DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4, 2006|DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August 2006|DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August|DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4|DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date||DMY}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (missing year)
{{date|2=DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|{{date}}|DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
MDY format {{date|2006-08-04|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4, 2006|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August 2006|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date||MDY}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (missing year)
{{date|2=MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|{{date}}|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
YMD format {{date|2006-08-04|YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4, 2006|YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August 2006|YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August|YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4|YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date||YMD}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (missing year)
{{date|2=YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|{{date}}|YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
ISO format {{date|2006-08-04|ISO}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4, 2006|ISO}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August 2006|ISO}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August|ISO}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4|ISO}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|{{#time: --m-d}}|ISO}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (missing year)
{{date|2=ISO}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|{{date}}|ISO}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
none format {{date|2006-08-04|none}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4, 2006|none}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August 2006|none}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|4 August|none}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 4|none}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date||none}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (blank)
{{date|2=none}} {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (blank)
{{date|{{date}}|none}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}

Other acceptable input

A wide variety of other input formats are handled correctly by the template:

Input Output
{{date|1st December 2008}} (ordinal 'st') This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|June 24 2006}} (missing comma) This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|24 june 2006}} (lowercase month name) This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|24 jun}} (abbreviated month name) This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|June 2006}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|2006 June}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|05/31/2012}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|31-05-2012}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}

Invalid input

Input strings that the template cannot format are returned unaltered. This includes strings containing characters such as square brackets, so any links will result in unformatted output.

Input Output
{{date|23007-031-24}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|] ]|YMD}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|1 December ]|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|2008 December 1|DMY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (expected: {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
{{date|2008 December 1|MDY}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (expected: {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
{{date|2008 December 1|ISO}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (expected: {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
{{date|June 2006|ISO}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (missing day, expected: 2006-06--)
{{date|--08-24}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|-08-24}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|08-24}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|2006-08--}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|2006-08-}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|32 Aug}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|932 Aug}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|0932 Aug}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 32}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 932}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|Aug 0932}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}
{{date|31/05/2012}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (expected {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
{{date|05-31-2012}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (expected {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}})
{{date|May 18, 2019|YDM}} This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} (expected 2019 18 May)

Known issues

Out-of-range values are "fixed"
  • The PHP library, that this template ultimately depends on, converts out-of-range values to the next-best in-range values. As a result, some date-like values that are not actually valid dates get converted anyway. These include...
    • all dates with zero day-of-the-month. Such a "zero-th" day of a month gets converted into the last day of the previous month.For example, {{date|June 0, 2006}} results in {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}.Similarly, {{date|0 January 2006}} becomes {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}.
    • all dates with day-number values that exceed the number of days in the specified month cause the date to be incremented into the next month.For example, {{date|31 November 2008}} results in {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}, since November has only 30 days.Similarly, {{date|February 29, 2007}} results in {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}}, since 2007 was not a leap year.Note: Due to a parser peculiarity in the PHP library, 'December 32' and '32 December' are treated differently, and the latter results in an error (which causes this template to emit it unchanged), and only the former "overflows" into the next month.
Non-Gregorian dates are treated as Gregorian
  • The PHP library that this template ultimately depends on assumes that all dates, irrespective of context, are Gregorian calendar dates. Consequently:
    • some dates that would be valid in a non-Gregorian context are treated as out-of-range dates and converted to the next-best in-range values. For example, {{date|30 February 1712}} results in {{subst:empty template|This template must be substituted. Replace {{ with {{subst:.}}{{date|{{subst:#time:F j, Y|}}}} because – even though 30 February 1712 is a valid date in the Swedish calendar – February 1712 had only 29 days in the Gregorian calendar.
    • ten dates are not reformatted. These are 29 February & 1 March of the years 1000, 1100, 1300, 1400, 1500. The cause of this is the same as that of the Swedish 30 February 1712.
    • some dates that would not be valid in some contexts are converted normally. For example, 29 February 1912 or 1 February 1918 are not valid in a Russian context, but perfectly valid in the Gregorian one.
ISO 8601 format not suitable for years before 1583

The ISO 8601 standard requires mutual agreement between those using the format to use years earlier than 1583. Since no agreement has been obtained from our readers, that format should not be used for such years, nor for any date not in the Gregorian calendar.

Output provided for ISO dates when year is missing

The current 2004 version of ISO 8601 does not permit omitting the year, but this template will produce a supposedly ISO output when the year is missing.

Does not provide Microformats

See also

For the magic words with the same or similar names, see MediaWikiWiki:Help:Magic words § Date and time.

Multiple units of time

Type Adjustable Current Last Next
Date and time {{time}} {{Currentdate}} (MDY)
{{Plain now}} (DMY)
{{Now}} (DMY in a complete sentence)
{{Simple now}}
Date only {{Dateonly}}
{{Datedow}}
(Has the day of the week)
{{Date}} (Chose format)
{{DATE}} (prefixed by date=)
{{TODAY}} (DMY)
{{Yesterday}}
{{Day-1}}
{{Tomorrow}}
{{Day+1}}
Month and year only {{Monthyear}} {{Monthyear-1}} {{Monthyear+1}}
Time only {{Timeonly}} {{CURRENTTIME}} (12 h format)
{{CURRENTTIME24}} (24 h format)
Banners {{Right now}}
(Blue with time and number of Misplaced Pages articles)
Timestamp {{Timestamp}}
(Format YYYYMMDDhhmmss)

Single units of time

Unit of time Adjustable Current Last Next
Second {{CURRENTSECOND}}
Minute {{CURRENTMINUTE}}
Hour {{CURRENTHOUR}}
Week {{CURRENTWEEK}}
{{CURRENTWEEKOFMONTH}}
Day of Week {{DAYOFWEEK}} {{CURRENTDAYNAME}}
{{CURRENTWEEKDAYABBREV}}
{{CURRENTWEEKDAY}}
Month {{MONTHNAME}}
{{MONTHABBREV}}
{{MONTHNUMBER}}
{{MONTH}} (zero padded)
{{CURRENTMONTHNAME}}
{{CURRENTMONTHABBREV}}
{{CURRENTMONTH1}}
{{CURRENTMONTHDAYS}}
{{LASTMONTHNAME}} {{NEXTMONTHNAME}}
Day of Month {{CURRENTDAY}}
{{CURRENTDAY2}} (zero padded)
Year {{CURRENTYEARCC}}
{{CURRENTYEARYY}}
{{CURRENTISOYEAR}}
{{CURRENTYEAR}}
{{LASTYEAR}} {{NEXTYEAR}}
Day of Year {{CURRENTDAYOFYEAR}}
Decade {{DECADE}} {{CURRENTDECADE}}
Century {{Century}} {{CURRENTCENTURY}}
MILLENNIUM {{MILLENNIUM}}

Date and time templates made for substitution:

Month:
{{Lmonth}} produces Nov
{{Nmonth}} produces Jan
{{Last month}} produces November 2024
{{Next month}} produces January 2025


Individual templates

Categories of templates

Converts dates into a format used on Misplaced Pages

Template parameters

ParameterDescriptionTypeStatus
date1

Date to be formatted

Example
Jan 1, 2007
Datesuggested
format2

Controls the date format for the result

Default
DMY
Example
MDY
Stringsuggested
The above documentation is transcluded from Template:Date/doc. (edit | history)
Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages.
Add categories to the /doc subpage. Subpages of this template. Categories: