Template:Time/sandbox
This is the template sandbox page for Template:Time (diff). See also the companion subpage for test cases. |
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
[edit]{{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 either be in ISO 8601 format without time zone designator (2024-11-17T00:08:57), or YYYYMMDDhhmmss format as output by {{Timestamp}} (20241117000857). This is interpreted by the template as UTC.
Usage
[edit]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
[edit]This is a list of the currently supported time zone abbreviations:
- ACST (ACDT)
- AEST (AEDT)
- AKST (AKT)
- AoE[A]
- AST (AT) (ADT)
- AWST
- BST
- BT
- CET (CEST)
- ChST
- CST (CT) (CDT)
- EET (EEST)
- EST (ET) (EDT)
- GMT
- GMT-IE[B]
- GMT-UK[C]
- HST (HDT)
- IDLE[A]
- IDLW[A]
- IRKT
- IST
- JST
- KRAT
- MSK
- MST
- MMT
- NPT
- NST
- NZST (NZDT)
- OMST
- PETT
- PKT
- PMST[D]
- PST (PT) (PDT)
- SAMT
- SAST
- SRET
- SST
- USZ1
- UTC
- VLAT
- WET (WEST)
- WGT[E]
- WIB
- WIT
- WITA
- YAKT
- YEKT
- ^ a b c 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. 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.
- ^ Saint-Pierre and Miquelon Standard Time
- ^ Western Greenland Time
UTC offset
[edit]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
[edit]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
[edit]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}}
- 17:08, November 16, 2024 MST [refresh] – time in Arizona
{{time|MST}}
- 17:08, November 16, 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
[edit]{{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
[edit]{{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 parameterabbr = ''
– (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
[edit]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
[edit]Multiple units of time
[edit]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 Wikipedia articles) |
|||
Timestamp | {{Timestamp}} (Format YYYYMMDDhhmmss) |
Single units of time
[edit]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:
[edit]Month:
{{Lmonth}} produces Oct
{{Nmonth}} produces Dec
{{Last month}} produces October 2024
{{Next month}} produces December 2024
Individual templates
[edit]- {{Calendar}}
- {{Calendar clock with Wikipedia stats}}
- {{Clock}}
- {{Digital clock}}
- {{Digital clock and date}}
Categories of templates
[edit]- 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
References
[edit]- ^ "World Time Zone Map". HM Nautical Almanac Office. February 2016.
TemplateData
[edit]TemplateData for Time
No description.
Parameter | Description | Type | Status | |
---|---|---|---|---|
time zone | 1 | The time zone for the time formatting
| String | suggested |
date format | 2 df | The format to render the date and time
| Unknown | suggested |
Daylight savings time | dst | no description
| String | optional |
ISO 639 language code | lang | displays time/date in language specified by ISO 639 language | String | optional |
dateonly | dateonly | If 'yes', suppresses display of the time and only shows the date
| String | optional |
timeonly | timeonly | If 'yes', suppresses display of the date and only shows the time
| String | optional |
Hide time zone? | hide-tz | If 'yes', suppresses time zone abbreviation
| String | optional |
Don't link time zone? | unlink-tz | If 'yes', renders the timezone without linking to its article.
| String | optional |