Template:Time/doc

From The Sims Wiki, a collaborative database for The Sims series
Jump to navigation Jump to search

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 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[edit source]

{{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
04:08, 29 March 2024 MDT [refresh]
|df=dmy12 – same as |df=dmy except time in 12-hour am/pm format
4:08 am, 29 March 2024 MDT [refresh]
|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
04:08, March 29, 2024 MDT [refresh]
|df=mdy12 – same as |df=mdy except time in 12-hour am/pm format
4:08 am, March 29, 2024 MDT [refresh]
|df=iso – renders the date/time in a form roughly adhering to the ISO 8601 format (seconds omitted)
2024-03-29T04:08 MDT [refresh]
|df=y – legacy {{time}} parameter, same as |df=dmy
|df=12 – time-only display 12-hour am/pm format
4:08 am MDT [refresh]
|df=24 – time-only display 24-hour format
04:08 MDT [refresh]
|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 to no, 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-03-29T10:Template:CURRENTMINUTE:Template:CURRENTSECOND), or YYYYMMDDhhmmss format as output by {{CURRENTTIMESTAMP}} (20240329100856). This is interpreted by the template as UTC.

Usage[edit source]

Typically, all that is needed is:

{{time|<TZ>}} where <TZ> is one of the supported time zone abbreviations
{{time|MST}}
04:08, March 29, 2024 MDT [refresh]

To change the rendered format:

{{time|MST|df=y}}
04:08, 29 March 2024 MDT [refresh]
{{time|MST|y}}
04:08, 29 March 2024 MDT [refresh]
{{time|MST|dmy}}
04:08, 29 March 2024 MDT [refresh]
{{time|MST|iso}}
2024-03-29T04:08 MDT [refresh]

Supported time zones[edit source]

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[edit source]

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

{{time|UTC-07:00}}
2024-03-29T03:08 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[edit source]

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

{{time|M}}
2024-03-29T22:08 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-03-29T22:53 M‡ [refresh]
{{time|M+}}
2024-03-30T00:08 M† [refresh]

Daylight saving time[edit source]

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}}
03:08, March 29, 2024 MST [refresh]time in Arizona
{{time|MST}}
04:08, March 29, 2024 MDT [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 source]

{{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 source]

{{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 parameter
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[edit source]

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.

References[edit source]

Credits[edit source]

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

TemplateData[edit source]

This is the TemplateData documentation for this template used by the VisualEditor and other tools.

TemplateData for Time

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