Module:Age/doc

From Wikidata
Jump to navigation Jump to search

This is the documentation page for Module:Age

Templates supported

[edit]

Module:Age implements the following templates:

Template Required wikitext
{{Extract}} {{#invoke:age|extract}}
{{Gregorian serial date}} {{#invoke:age|gsd}}
{{Time interval}} {{#invoke:age|time_interval}}
{{Age in days}} {{#invoke:age|age_generic|template=age_days}}
{{Age in days nts}} {{#invoke:age|age_generic|template=age_days_nts}}
{{Duration in days}} {{#invoke:age|age_generic|template=duration_days}}
{{Duration in days nts}} {{#invoke:age|age_generic|template=duration_days_nts}}
{{Age}} {{#invoke:age|age_generic|template=age_full_years}}
{{Age nts}} {{#invoke:age|age_generic|template=age_full_years_nts}}
{{Age in years}} {{#invoke:age|age_generic|template=age_in_years}}
{{Age in years nts}} {{#invoke:age|age_generic|template=age_in_years_nts}}
{{Age for infant}} {{#invoke:age|age_generic|template=age_infant}}
{{Age in months}} {{#invoke:age|age_generic|template=age_m}}
{{Age in weeks}} {{#invoke:age|age_generic|template=age_w}}
{{Age in weeks and days}} {{#invoke:age|age_generic|template=age_wd}}
{{Age in years and days}} {{#invoke:age|age_generic|template=age_yd}}
{{Age in years and days nts}} {{#invoke:age|age_generic|template=age_yd_nts}}
{{Age in years and months}} {{#invoke:age|age_generic|template=age_ym}}
{{Age in years, months and days}} {{#invoke:age|age_generic|template=age_ymd}}
{{Age in years, months, weeks and days}} {{#invoke:age|age_generic|template=age_ymwd}}
{{Birth date and age}} {{#invoke:age|birth_date_and_age}}
{{Death date and age}} {{#invoke:age|death_date_and_age}}

Redirects

Template Redirects to
{{ayd}} {{Age in years and days nts}}
{{hla}} {{Age in years, months and days}}
{{age in months, weeks and days}} {{Age in years, months, weeks and days}}
{{bda}} {{Birth date and age}}
{{dda}} {{Death date and age}}
{{gsd}} {{Gregorian serial date}}

The age templates expect the older date to be first. The implementations of age_in_years and age_in_years_nts display an error message if that is not the case. If similar checking is wanted for other templates, negative=error can be added to the invoke. For example, {{Age}} might use:

  • {{#invoke:age|age_generic|template=age_full_years|negative=error}}

If negative=error does not apply, a negative difference is indicated with a minus sign (−).

Date formats

[edit]

Dates can use numbered or named parameters to specify year/month/day. Alternatively, a full date can be entered in a variety of formats. For example:

If the first or second date is omitted, the current date is used. For example:

Parameters

[edit]

The following options are available:

Parameter Description
duration=on The finishing date is included in the result; that adds one day to the age.
fix=on Adjust invalid time units. See Template:Extract#Fix.
format=commas A value of 1,000 or more is displayed with commas.
format=raw Numbers are displayed without commas and negative numbers are displayed with a hyphen for {{#expr}}. In addition, {{Age}} outputs a plain number and will not include a span to indicate if the result relies on the current date.
format=cardinal Display the resulting number using words such as "five" instead of 5. See below.
format=ordinal Display the resulting number using words such as "fifth" instead of 5. See below.
prefix=text Insert the given text before the result but after any sort key. For example, {{age|23 July 1910|14 July 1976|prefix=about|sortable=on}} outputs a hidden sort key followed by "about 65".
range=dash Accept a year only, or a year and month only, and show a range of ages with an en dash (–).
range=yes Accept a year or year/month, and show the range with "or".
range=no Accept a year only, or year/month, but show only a single age as if full dates had been entered.
round=on The age is rounded to the nearest least-significant time unit.
sc=on A serial comma is used (only useful when three or more values are displayed).
sc=yes Same as sc=on.
show=hide The age is not displayed; may be useful with sortable=on.
sortable=on Insert a hidden sort key before the result (for use in sortable tables).
sortable=table Insert a sort key using table syntax data-sort-value="value"|.
sortable=debug Same as sortable=on but the sort key is displayed for testing.
sortable=off No sort key (can override the default for a template like {{Age nts}}).

Examples using the range parameter follow.

The sort key is based on the age in days, and fractions of a day if a time is specified.

An extra day is added for a duration.

The least-significant time unit can be rounded.

Large numbers can be formatted with commas.

Spelling numbers

[edit]

The templates that use age_generic can display numbers in words rather than using numerals. The result can be a cardinal number (such as "five") or an ordinal number (such as "fifth"). The first letter can be in uppercase, and US spelling of numbers can be used. Examples:

  • {{age|1898|01|01|2018|02|01|format=cardinal}}Template:Age
  • {{age|1898|01|01|2018|02|01|format=cardinal_us}}Template:Age
  • {{age|1898|01|01|2018|02|01|format=Cardinal}}Template:Age
  • {{age|1898|01|01|2018|02|01|format=Cardinal_us}}Template:Age
  • {{age|1898|01|01|2018|02|01|format=Ordinal}}Template:Age
  • {{age|1898|01|01|2018|02|01|format=Ordinal_us}}Template:Age
  • {{age|1898|01|01|2018|02|01|format=ordinal}}Template:Age
  • {{age|1898|01|01|2018|02|01|format=ordinal_us}}Template:Age
  • {{age|1980|1990|range=yes|format=Cardinal}}Template:Age
  • {{age in years, months and days|April 1980|1995|format=Cardinal|range=yes}}

This template returns the number of full years, then surplus months, then surplus days between two specified dates. If the second set of parameters is not included, it will return the number of years, months and days between a specified date and today's date. The words "year", "month" and "day" are plural when appropriate.

The years and months are separated by a comma. Since serial commas are optional and use varies, this template does not automatically place a comma after the months. If a serial comma is desired, adding |sc=y to the template invocation will include one.

See Wikipedia:Age calculation templates for more information on using this kind of template.

Usage

[edit]
{{Age in years, months and days|year= |month= |day= }} or
{{Age in years, months and days|yyyy|mm|dd|yyyy2|mm2|dd2}}

Examples

[edit]
{{Age in years, months and days|year=2001|month=1|day=15}} returns "Template loop detected: Template:Age in years, months and days"
{{Age in years, months and days|2001|01|15|2008|09|05}} returns "Template loop detected: Template:Age in years, months and days"
{{Age in years, months and days|2016|8|4|2016|9|5}} returns "Template loop detected: Template:Age in years, months and days"

Notes

[edit]

This template can handle an ambiguous start date:

{{Age in years, months and days|year=2010|month=9}} returns "Template loop detected: Template:Age in years, months and days"
{{Age in years, months and days|2009|6||2011|2|21}} returns "Template loop detected: Template:Age in years, months and days"

But it cannot handle an ambiguous end date:

{{Age in years, months and days|2012|11|2|2016|4}} returns "Template loop detected: Template:Age in years, months and days"
{{Age in years, months and days|2012|11|2|2017}} returns "Template loop detected: Template:Age in years, months and days"

Since the length of a month varies, the number of days to roll over the number of months varies.

{{Age in years, months and days|2007|3|12|2015|6|11}} returns "Template loop detected: Template:Age in years, months and days"
{{Age in years, months and days|2007|3|12|2015|7|11}} returns "Template loop detected: Template:Age in years, months and days"

To add a serial comma specify |sc=y.

{{Age in years, months and days|year=2001|month=1|day=15|sc=y}} returns "Template loop detected: Template:Age in years, months and days"
{{Age in years, months and days|2001|1|15|2008|9|5|sc=y}} returns "Template loop detected: Template:Age in years, months and days"
{{Age in years, months and days|2016|07|3|sc=y}} returns "Template loop detected: Template:Age in years, months and days"

TemplateData

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

Age

This template returns the number of full years, surplus months, and surplus days between two specified dates. If the second set of parameters is not included, it will return the number of years, months and days between a specified date and today's date.

Template parameters

ParameterDescriptionTypeStatus
Year ('from' date)1 year

The year of the (first) date

Numberrequired
Month ('from' date)2 month

Number of the month of the (first) date

Numberrequired
Day of month ('from' date)3 day

The day of the month of the (first) date

Numberoptional
Year ('to' date)4

The year of the 'to' date, if required

Default
the current year
Numberoptional
Month ('to' date)5

Number of the month of the 'to' date, if required

Default
the current month
Numberoptional
Day of month ('to' date)6

The day of the month of the 'to' date, if required

Default
the current day
Numberoptional
Serial commasc

Enter 'y' to turn on the serial comma after the months

Default
none
Lineoptional

See also

[edit]


Template:Birth, death and age templates

Tracking category

[edit]

See also

[edit]
  • {{Time interval}} • This template supports all age/duration calculations and provides more options such as abbreviating or omitting units.