Template:Time/doc

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 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 to purge the page.

Parameters
supports two positional and several named parameters; none are required:
 * – the first positional (unnamed) parameter, specifies the time zone for which the template is to provide a time output. If omitted, the template displays UTC time.  A time zone is identified by an abbreviation of the time zone's standard-time name.  Do not use a summertime or daylight saving time abbreviation; they will be ignored and produce an error message.
 * – the positional (unnamed) version of df which see
 * df – date format; this parameter takes one of several values; values other than these are ignored:
 * dmy – specifies day month year date format; time in 24-hour format; alias: dmy24
 * July 27, 2024
 * dmy12 – same as dmy except time in 12-hour am/pm format
 * July 27, 2024
 * mdy – specifies month day, year format; time in 24-hour format; default when a date format is not specified in the time zone's properties; alias: mdy24
 * July 27, 2024
 * mdy12 – same as mdy except time in 12-hour am/pm format
 * July 27, 2024
 * iso – renders the date/time in a form roughly adhering to the ISO 8601 format (seconds omitted)
 * July 27, 2024
 * y – legacy parameter, same as dmy
 * 12 – time-only display 12-hour am/pm format
 * July 27, 2024
 * 24 – time-only display 24-hour format
 * July 27, 2024
 * df-cust – custom time/date formats using the codes defined at mw:Help:Extension:ParserFunctions; yields to df
 * df-cust-a – custom time/date formats as above specifically for ante meridiem time; requires df-cust-p; yields to df-cust
 * df-cust-p – custom time/date formats as above specifically for post meridiem time; requires df-cust-a; yields to df-cust
 * dst – when set to, disables the daylight saving time calculation for the time zone; other values ignored; useful for locations within a time zone that do not observe daylight saving time; Arizona, for example
 * &lt;code> – displays time/date in language specified by ISO 639 language
 * these parameters take only the value :
 * dateonly – suppresses time display
 * timeonly – suppresses date display
 * hide-refresh – suppresses the refresh link
 * hide-tz – suppresses the timezone abbreviation
 * unlink-tz – renders unlinked timezone abbreviation
 * _TEST_TIME_ – a parameter that was useful during the development of the template's code. The value assigned to this parameter must either be in ISO 8601 format without time zone designator ( 2024-August-T:: ), or YYYYMMDDhhmmss format as output by   . This is interpreted by the template as UTC.

Usage
Typically, all that is needed is:
 * where  is one of the supported time zone abbreviations
 * July 27, 2024
 * July 27, 2024

To change the rendered format:
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024

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


 * ACST (ACDT)
 * AEST (AEDT)
 * AKST (AKT)
 * AoE
 * AST (AT) (ADT)
 * AWST
 * BST
 * BT
 * CET (CEST)
 * ChST
 * CST (CT) (CDT)
 * EET (EEST)
 * EST (ET) (EDT)
 * GMT
 * GMT-IE
 * GMT-UK
 * HAST (HADT) (HST) (HDT)
 * IDLE
 * IDLW
 * IRKT
 * IST
 * JST
 * KRAT
 * MSK
 * MST
 * NST
 * NZST (NZDT)
 * OMST
 * PETT
 * PKT
 * PMST
 * PST (PT) (PDT)
 * SAMT
 * SRET
 * SST
 * USZ1
 * UTC
 * VLAT
 * WET (WEST)
 * WGT
 * WIB
 * WIT
 * WITA
 * YAKT
 * YEKT


 * July 27, 2024

'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, use the time zone's alpha designation:
 * July 27, 2024
 * July 27, 2024

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:
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024
 * July 27, 2024

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 no:
 * July 27, 2024 – time in Arizona
 * July 27, 2024 – but, time on the Navajo Nation in Arizona
 * July 27, 2024 – but, time on the Navajo Nation in Arizona
 * July 27, 2024 – 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
can produce several error messages. These are:
 * {{time} } – both of &#124;df-cust-a= and &#124;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
 * July 27, 2024 – 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.
 * July 27, 2024 – 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 &lt;format> – value assigned to df is not one of the defined format strings; ss §Parameters
 * July 27, 2024 – 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
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 parameter
 * – (required) the abbreviation of a time zone's standard time as it will be rendered by the template
 * – the abbreviation of a time zone's daylight saving or summer time as it will be rendered by the template
 * – (required) the offset in hours and minutes from UTC±00:00; has the form:  where   may be   (optional) or   (required for time zones west of the 0 meridian)
 * – one of three keywords,  , or   used to specify date format typically used in the time zone; can be overridden with df template parameter
 * – a four word sentence in the form        where:
 * – any of the words 'first', '1st', 'second', '2nd', ... 'fifth', '5th', or 'last'
 * – any of the day names 'Sunday', 'Monday', 'Tuesday', etc.; capitalization is not important but otherwise must be spelled correctly; abbreviations not supported
 * – either of the words 'in' or 'of'
 * – any of the month names 'January', 'February', 'March', etc.; capitalization is not important but otherwise must be spelled correctly; abbreviations not supported
 * – (required if  is specified) same as
 * – (required if  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:   ; four digits and the colon are required
 * – 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:  ; four digits and the colon are required
 * – (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.
 * – (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.

Credits
This template's code and documentation were taken from the English Wikipedia.

TemplateData
{	"params": { "1": {			"label": "time zone", "description": "The time zone for the time formatting", "example": "EST", "type": "string", "suggested": true },		"2": {			"aliases": [ "df" ],			"label": "date format", "description": "The format to render the date and time", "example": "dmy12", "suggested": true },		"dst": { "label": "Daylight savings time", "example": "yes", "type": "string" },		"lang": { "label": "ISO 639 language code", "description": "displays time/date in language specified by ISO 639 language", "type": "string" },		"dateonly": { "description": "If 'yes', suppresses display of the time and only shows the date", "example": "yes", "type": "string" },		"timeonly": { "description": "If 'yes', suppresses display of the date and only shows the time", "example": "yes", "type": "string" },		"hide-tz": { "label": "Hide time zone?", "description": "If 'yes', suppresses time zone abbreviation", "example": "yes", "type": "string" },		"unlink-tz": { "label": "Don't link time zone?", "description": "If 'yes', renders the timezone without linking to its article.", "example": "yes", "type": "string" }	} }