Template:Time/Helper
This template uses Lua: |
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.
Parameters
{{time}}
supports two positional and several named parameters; none are required:
|<time zone>
– 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.|<df>
– the positional (unnamed) version of|df=
which see|df=
– date format; this parameter takes one of several values; values other than these are ignored:|df=dmy
– specifies day month year date format; time in 24-hour format; alias:|df=dmy24
|df=dmy12
– same as|df=dmy
except time in 12-hour am/pm format|df=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:|df=mdy24
|df=mdy12
– same as|df=mdy
except time in 12-hour am/pm format|df=iso
– renders the date/time in a form roughly adhering to the ISO 8601 format (seconds omitted)|df=y
– legacy{{time}}
parameter, same as|df=dmy
|df=12
– time-only display 12-hour am/pm format|df=24
– time-only display 24-hour format
|df-cust=
– custom time/date formats using the codes defined at mw:Help:Extension:ParserFunctions##time; 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 tono
, 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|lang=<code>
– displays time/date in language specified by ISO 639 language<code>
- these parameters take only the value
yes
:|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 be in ISO 8601 format without time zone designator and is interpreted by the template as UTC
Usage
Typically, all that is needed is:
{{time|<TZ>}}
where<TZ>
is one of the supported time zone abbreviations
To change the rendered format:
{{time|MST|df=y}}
{{time|MST|y}}
{{time|MST|dmy}}
{{time|MST|iso}}
Supported time zones
This is a list of the currently supported time zone abbreviations:
- ACST (ACDT)
- AEST (AEDT)
- AKST (AKT)
- AoE[upper-alpha 1]
- AST (AT) (ADT)
- AWST
- BST
- BT
- CET (CEST)
- ChST
- CST (CT) (CDT)
- EET (EEST)
- EST (ET) (EDT)
- GMT
- GMT-IE[upper-alpha 2]
- GMT-UK[upper-alpha 3]
- HAST (HADT) (HST) (HDT)
- IDLE[upper-alpha 1]
- IDLW[upper-alpha 1]
- IRKT
- IST
- JST
- KRAT
- MSK
- MST
- NST
- NZST (NZDT)
- OMST
- PETT
- PKT
- PMST[upper-alpha 4]
- PST (PT) (PDT)
- SAMT
- SRET
- SST
- USZ1
- UTC
- VLAT
- WET (WEST)
- WGT[upper-alpha 5]
- WIB
- WIT
- WITA
- YAKT
- YEKT
- ↑ 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
- ↑ 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.
- ↑ GMT does not observe daylight saving time. In the United Kingdom GMT is observed in winter but shifts to British Summer Time. The abbreviation BST is also used by Bangladesh Standard Time. To differentiate year-round GMT from GMT as observed in the UK, use GMT-UK.
- ↑ Saint-Pierre and Miquelon Standard Time
- ↑ Western Greenland Time
UTC offset
To display the time at a particular UTC offset, specify the UTC time offset as the time zone:
'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:
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:
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}}
- 07:18, December 22, 2024 MST [refresh] – time in Arizona
{{time|MST}}
- 07:18, December 22, 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 have the format: YYYY-MM-DDThh:mm:ss where all except 'T' are digits
- {{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 pararameterabbr = ''
– (required) the abbreviation of a time zone's standard time as it will be rendered by the templatedst_abbr = ''
– the abbreviation of a time zone's daylight saving or summer time as it will be rendered by the templateutc_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 keywordsdmy
,mdy
, oriso
used to specify date format typically used in the time zone; can be overridden with|df=
template parameterdst_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 ifdst_begins
is specified) same asdst_begins
dst_time = ''
– (required ifdst_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 requireddst_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 requiredarticle = ''
– (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
Multiple units of time
Type | Adjustable | Current | Last | Next |
---|---|---|---|---|
Date and Time | {{time}} | {{Currentdate}} (MDY) {{Plain now}} (DMY) {{Now}} (Plan now in as sentence) |
||
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}} |
Time only | {{Timeonly}} | {{CURRENTTIME}} (12 h format) {{CURRENTTIME24}} (24 h format) |
||
Banners | {{Right now}} (Blue with time and number of Wikipedia articles) {{Right now (User message)}} (Orange with time and number of Wikipedia articles |
|||
Timestamp | {{Timestamp}} (Format YYYYMMDDHHMMSS) |
Single units of time
Unit of time | Adjustable | Current | Last | Next |
---|---|---|---|---|
SECOND | {{CURRENTSECOND}} | |||
MINUTE | {{CURRENTMINUTE}} | |||
HOUR | {{Currenthour}} | {{Hour-1}} | {{Hour+1}} | |
WEEK | {{CURRENTWEEKOFYEAR}} {{CURRENTWEEKOFMONTH}} |
|||
Day of Week | {{Dow}} | {{CURRENTWEEKDAYNAME}} {{CURRENTWEEKDAYABBREV}} {{CURRENTWEEKDAY}} |
{{LASTWEEKDAYNAME}} {{LASTWEEKDAYABBREV}} |
{{NEXTWEEKDAYNAME}} {{NEXTWEEKDAYABBREV}} |
MONTH | {{MONTHNAME}} {{MONTHABBREV}} {{MONTHNUMBER}} {{MONTH}} (zero padded) |
{{Currentmonth}} {{CURRENTMONTHABBREV}} {{CURRENTMONTHNUMBER}} {{CURRENTMONTHDAYS}} |
{{LASTMONTH}} (Can make not zero-padded) {{LASTMONTHNAME}} {{LASTMONTHABBR}} |
{{NEXTMONTH}} (Can make not zero-padded) {{NEXTMONTHNAME}} {{NEXTMONTHABBR}} |
Day of Month | {{Currentday}} | |||
YEAR | {{CURRENTYEARCC}} {{CURRENTYEARYY}} {{CURRENTISOYEAR}} {{CURRENTYEAR}} |
{{LASTYEAR}} | {{NEXTYEAR}} | |
Day of Year | {{CURRENTDAYOFYEAR}} | |||
CENTURY | {{CENTURY}} | {{CURRENTCENTURY}} | {{LASTCENTURY}} | {{NEXTCENTURY}} |
MILLENNIUM | {{MILLENNIUM}} | {{Currentmillennium}} |
Date and time Templates made for substitution:
Month:
{{Lmonth}} produces Nov
{{Nmonth}} produces Jan
{{LastMonth}} produces November 2024
{{NextMonth}} produces January 2025
Individual Templates
- {{Calendar}}
- {{Calendar clock with Wikipedia stats}}
- {{Clock}}
- {{Digital clock}}
- {{Digital clock and date}}
Categories of Templates
- Category:Time, date and calendar templates
- Category:Date-computing templates
- Category:Date-computing templates based on current time
- Category:ISO date templates
- Category:Calendar templates
- Category:Clock templates
References
- ↑ "World Time Zone Map". HM Nautical Almanac Office. February 2016.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
The above documentation is transcluded from Template:Time/Helper/doc. (edit | history) Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |