Template:Time

From Gerald R. Lucas
Template documentation[view] [edit] [history] [purge]

This template displays the current time in a parameter-specified time zone. The time is calculated based on the offset from UTC for the specified time zone taking into account whether daylight saving time is currently active in that time zone.

Note: Most Wikipedia pages display a cached version of the page to reduce server load, so the template will only display the current time as of when the page was last parsed. You can refresh the displayed time by clicking the [refresh] link.

Template:Time/doc/parameters

Usage

Typically, all that is needed is:

{{time|<TZ>}} where <TZ> is one of the supported time zone abbreviations
{{time|MST}}
16:12, November 5, 2024 MST [refresh]

To change the rendered format:

{{time|MST|df=y}}
16:12, 5 November 2024 MST [refresh]
{{time|MST|y}}
16:12, 5 November 2024 MST [refresh]
{{time|MST|dmy}}
16:12, 5 November 2024 MST [refresh]
{{time|MST|iso}}
2024-11-05T16:12 MST [refresh]

Supported time zones

This is a list of the currently supported time zone abbreviations:

  1. 1.0 1.1 1.2 Not standard time zones, these are included on a whim of the programmer; AoE is 'Anywhere on Earth', 'IDLE' and 'IDLW' are International Date Line East and West
  2. Irish Standard Time. The abbreviation, IST, is also used for Indian Standard Time. Irish Standard Time occurs in the summer. For these reasons, the template uses GMT-IE as the time zone abbreviation for Ireland.
  3. GMT does not observe daylight saving time. The United Kingdom observes GMT in winter but shifts to British Summer Time in summer. The abbreviation BST is also used by Bangladesh Standard Time. To differentiate GMT as observed in the UK from year-round GMT, use GMT-UK for the former.
  4. Saint-Pierre and Miquelon Standard Time
  5. Western Greenland Time

UTC offset

To display the time at a particular UTC offset, specify the UTC time offset as the time zone:

{{time|UTC-07:00}}
2024-11-05T16:12 UTC−07:00 [refresh]

'UTC', a sign character, two hour digits, a colon, and two minute digits are required. Accepted sign characters are: '+', '-' (hyphen), '±', and '−' (minus).

Military/nautical time zones

To display the time at a particular military or nautical time zone,[1] use the time zone's alpha designation:

{{time|M}}
2024-11-06T11:12 M [refresh]

Some military and nautical time zone designators are extended with an asterisk (*), a dagger (†), or double dagger (‡). When writing this template for designators that are extended with a dagger or double dagger, use '+' and '++' respectively:

{{time|M++}}
2024-11-06T11:57 M‡ [refresh]
{{time|M+}}
2024-11-06T13:12 M† [refresh]

Daylight saving time

Daylight saving time (DST) calculations are automatic for those time zones where it is observed. There are locales that do not observe DST within time zones where it is generally observed. To render the correct time for a non-observant locale, set |dst=no:

{{time|MST|dst=no}}
16:12, November 5, 2024 MST [refresh]time in Arizona
{{time|MST}}
16:12, November 5, 2024 MST [refresh] – but, time on the Navajo Nation in Arizona

The opposite case is not supported. For places like Thule Air Base in Greenland, which observes US DST rules while WGT observes EU DST rules, a time zone properties table will be needed in Module:Time. See §Adding a new time zone.

Error messages

{{time}} can produce several error messages. These are:

{{time}} – both of |df-cust-a= and |df-cust-p required – when defining a custom format for am (or pm) time, you must also define a custom format for pm (or am) time
{{time}} – error calculating dst timestamps – indicates an internal error because one or more of the following time zone properties is malformed: UTC offset, DST begin or end definition. To resolve this error make sure that the time zone's properties are correct.
{{time}} – incomplete definition for ... – indicates an internal error because one or more of the following time zone properties is missing: DST begin or end definition, DST event time, time zone article. To resolve this error supply the missing properties.
{{time}} – invalid date format <format> – value assigned to |df= is not one of the defined format strings; ss §Parameters
{{time}} – invalid use of ± - the symbol ± is being used when the minute and hour offsets aren't 00:00
{{time}} – malformed or incomplete _TEST_TIME_ – value assigned to this parameter must either have the format: YYYY-MM-DDThh:mm:ss where all except 'T' are digits, or YYYYMMDDhhmmss
{{time}} – unknown timezone – the time zone positional parameter is not one of the supported time zone abbreviations. To resolve this error check the parameter's spelling or add the time zone's properties to the module. See §Adding a new time zone.

Adding a new time zone

{{time}} uses Module:Time/data. In that module, is a table of tables, the data structure that specifies the properties of the individual time zones. A blank time zone properties table has this form:

[''] = {
	abbr = '',			
	dst_abbr = '',
	utc_offset = '',
	df = '',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	dst_e_time = '',
	article = ''
},

To add a new time zone to Module:Time/data, add the appropriate information inside the single quotes. If a property does not apply, leave the quotes empty. The rules for each property are:

[''] – (required) the abbreviation of a time zone's standard time; must be lower case; this is the value that will be used in the template's time zone pararameter
abbr = '' – (required) the abbreviation of a time zone's standard time as it will be rendered by the template
dst_abbr = '' – the abbreviation of a time zone's daylight saving or summer time as it will be rendered by the template
utc_offset = '' – (required) the offset in hours and minutes from UTC±00:00; has the form: utc_offset = '<sign>hh:mm' where <sign> may be + (optional) or - (required for time zones west of the 0 meridian)
df = '' – one of three keywords dmy, mdy, or iso used to specify date format typically used in the time zone; can be overridden with |df= template parameter
dst_begins = '' – a four word sentence in the form <ordinal> <day name> <in|of> <month name> where:
<ordinal> – any of the words 'first', '1st', 'second', '2nd', ... 'fifth', '5th', or 'last'
<day name> – any of the day names 'Sunday', 'Monday', 'Tuesday', etc.; capitalization is not important but otherwise must be spelled correctly; abbreviations not supported
<in|of> – either of the words 'in' or 'of'
<month name> – any of the month names 'January', 'February', 'March', etc.; capitalization is not important but otherwise must be spelled correctly; abbreviations not supported
dst_ends = '' – (required if dst_begins is specified) same as dst_begins
dst_time = '' – (required if dst_begins is specified) the time that daylight saving time begins; usually local time; when DST begins at a specified time UTC (European Summer Time for example) use: dst_time = 'hh:mm UTC'; four digits and the colon are required
dst_e_time = '' – the time that daylight saving time ends if different from the time it begins; usually local daylight saving time ; when DST ends at a specified time UTC use: dst_e_time = 'hh:mm UTC'; four digits and the colon are required
article = '' – (required) the title of a Wikipedia article that is appropriate to the timezone; do not include wikimarkup

The table-of-tables is organized east (plus UTC offsets) then west (minus UTC offset), by offset hours, and then alphabetically by time zone positional parameter name.

Adding a new alias

You may also want to add an alias of a timezone:

[''] = {tz = ''},

To add a new time zone to Module:Time/data, add the appropriate information inside the single quotes.

[''] – (required) the abbreviation of a time zone's alias. This must be lower case.
tz = '' – (required) the abbreviation of the time zone that's already in the code. This must be lower case

The table-of-tables is organized east (plus UTC offsets) then west (minus UTC offset), and by if it's a DST offset or if it's not.

See also

Template:Date and time templates

References

  1. "World Time Zone Map". HM Nautical Almanac Office. February 2016.

No description.

Template parameters

ParameterDescriptionTypeStatus
time zone1

The time zone for the time formatting

Example
EST
Stringsuggested
date format2 df

The format to render the date and time

Example
dmy12
Unknownsuggested
Daylight savings timedst

no description

Example
yes
Stringoptional
ISO 639 language codelang

displays time/date in language specified by ISO 639 language

Stringoptional
dateonlydateonly

If 'yes', suppresses display of the time and only shows the date

Example
yes
Stringoptional
timeonlytimeonly

If 'yes', suppresses display of the date and only shows the time

Example
yes
Stringoptional
Hide time zone?hide-tz

If 'yes', suppresses time zone abbreviation

Example
yes
Stringoptional
Don't link time zone?unlink-tz

If 'yes', renders the timezone without linking to its article.

Example
yes
Stringoptional