Template:ISOdate

Category:Main message boxesCategory:Heavily used templates
Protected This template has been protected from editing to prevent vandalism.
Please discuss changes on the talk page or request unprotection.
Template documentation[view · edit · history · purge]
This documentation is transcluded from Template:ISOdate/doc.
Category:Main message boxesCategory:Lua-based templates

For a calendar date in ISO 8601 extended format in the form YYYY-MM-DD (e.g. "2025-05-26"), with or without time, this template extracts the year, month, day and time, and calls {{Date}} with the year, month and day found to display the date in localised format, with the time, if specified, appended. It provides the convenience of passing on a date (or even a date and a time) from one template to another as a single parameter, even though {{Date}} eventually needs the date components separately.

This template overcomes some flaws of the automatic conversion by {{#time: }} for non-full dates (e.g. "77-09" for September 77 AD, which would throw an error with {{#time: }}).

Usage


{{ISOdate |1= }}

Template parameters

ParameterDescriptionDefaultStatus
1
date
dateAny proleptic Gregorian calendar or Gregorian calendar date between 1 January 1 AD and 31 December 9999 AD. Dates BC are not yet supported. Also incomplete dates are allowed: just the year or the year and the month. A year has to be written in full, without leading zeros. Optionally it is followed by hyphen-minus (-) and a 2-digit month number; optionally this is followed by hyphen-minus and a 2-digit day number; optionally this is followed by the time.emptyrequired
lang
2
languagelanguage code (only needs to be provided if the language shall be fixed and independent from the user's preferences)language code of the user language ({{int:Lang}})optional
casecaseallows to specify grammatical case for the month for languages that use them. Possible cases:
  • leave blank for default case, which is usually nominative in most languages or genitive case, for a date given in isolation (out of a sentence).
  • "case=nom" for the nominative case (for many languages with distinctive grammatical cases, for languages without case distinctions, this is the only existing form)
  • "case=gen" for the genitive case (supported for languages with distinctive grammatical cases)
  • "case=loc" for the locative case (supported for languages: pl, cs, sl)
  • "case=ins" for the instrumental case (supported for languages: ru, pl, cs, sl)
  • "case=ptv" for the partitive case (supported for language: fi)
  • "case=ine" for the inessive case (supported for language: fi)
  • "case=ela" for the elative case (supported for language: fi)
  • "case=ill" for the illative case (supported for language: fi)
emptyoptional
classclassallows to set the html class of the time node where the date is included. This is useful for microformats. The default value is, for legacy reasons, "dtstart" (used by hCalendar). See the microformats project. "class=-" or "class=" will remove all metadata.dtstartoptional
trim_year
trim year
trim yearShould years smaller than 1000 be padded with zeros to the length of 4 digits or trimmed. Options:
  • 1, yes, true - for always trimming
  • 0, no, false - for always padding
  • xx-yy - where xx is a minimum trimmed year and yy is the maximum trimmed year, for conditional trimming which depends on the year range.
100-999optional

Additional information

The template is intended to be used in the following namespaces: all namespaces

The template is intended to be used by the following user groups: all users

Relies on:
Module:DateI18n

Example

{{ISOdate|2025-05-26}}

renders as:

26 May 2025

See also

Localization

This template is not intended to be localized.

Category:Templates not requiring internationalization

Test cases

{{ISOdate|2010-11-01}}: 1 November 2010
{{ISOdate|2010-08-18 18:15:30Z}}: 18 August 2010, 18:15:30
{{ISOdate|2010-08-18 08:15:30}}: 18 August 2010, 08:15:30
{{ISOdate|2010-08-18 08:15}}: 18 August 2010, 08:15
{{ISOdate|2010-08-18}}: 18 August 2010
{{ISOdate|2010-08}}: August 2010
{{ISOdate|2010}}: 2010
{{ISOdate|1970-08-18 08:15:30}}: 18 August 1970, 08:15:30
{{ISOdate|1969-08-18 08:15:30}}: 18 August 1969, 08:15:30
{{ISOdate|1800-08-18 08:15:30}}: 18 August 1800, 08:15:30
{{ISOdate|999-08-18 08:15:30}}: 18 August 999 08:15:30
{{ISOdate|119-08-18 08:15:30}}: 18 August 119 08:15:30
{{ISOdate|99-08-18 08:15:30}}: 18 August 0099 08:15:30
{{ISOdate|19-08-18 08:15:30}}: 18 August 0019 08:15:30
{{ISOdate|9-08-18 08:15:30}}: 18 August 0009 08:15:30
{{ISOdate|1-08-18 08:15:30}}: 18 August 0001 08:15:30
{{ISOdate|1970-08-18}}: 18 August 1970
{{ISOdate|1969-08-18}}: 18 August 1969
{{ISOdate|1800-08-18}}: 18 August 1800
{{ISOdate|999-08-18}}: 18 August 999
{{ISOdate|119-08-18}}: 18 August 119
{{ISOdate|99-08-18}}: 18 August 0099
{{ISOdate|19-08-18}}: 18 August 0019
{{ISOdate|9-08-18}}: 18 August 0009
{{ISOdate|1-08-18}}: 18 August 0001
{{ISOdate|1970-08}}: August 1970
{{ISOdate|1969-08}}: August 1969
{{ISOdate|1800-08}}: August 1800
{{ISOdate|999-08}}: August 999
{{ISOdate|119-08}}: August 119
{{ISOdate|99-08}}: August 0099
{{ISOdate|19-08}}: August 0019
{{ISOdate|9-08}}: August 0009
{{ISOdate|1-08}}: August 0001
{{ISOdate|1970}}: 1970
{{ISOdate|1969}}: 1969
{{ISOdate|1800}}: 1800
{{ISOdate|999}}: 999
{{ISOdate|119}}: 119
{{ISOdate|99}}: 0099
{{ISOdate|19}}: 0019
{{ISOdate|9}}: 0009
{{ISOdate|1}}: 0001
{{ISOdate|0}}: 0000
{{ISOdate|1567-02-29}}: 1 March 1567
{{ISOdate|2000-02-29}}: 29 February 2000
Category:Time, date and calendar templates#ISOdate Category:User interface language dependent templates#ISOdate Category:Lua-based templates
Category:Heavily used templates Category:Lua-based templates Category:Main message boxes Category:Templates not requiring internationalization Category:Time, date and calendar templates Category:User interface language dependent templates