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}}
{{hla}}
{{age in months, weeks and days}}
{{bda}}
{{dda}}
{{gsd}}
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 (−).

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:

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.

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}} → 120
  • {{age|1898|01|01|2018|02|01|format=cardinal_us}} → 120
  • {{age|1898|01|01|2018|02|01|format=Cardinal}} → 120
  • {{age|1898|01|01|2018|02|01|format=Cardinal_us}} → 120
  • {{age|1898|01|01|2018|02|01|format=Ordinal}} → 120
  • {{age|1898|01|01|2018|02|01|format=Ordinal_us}} → 120
  • {{age|1898|01|01|2018|02|01|format=ordinal}} → 120
  • {{age|1898|01|01|2018|02|01|format=ordinal_us}} → 120
  • {{age|1980|1990|range=yes|format=Cardinal}}Expression error: Unrecognized punctuation character "{".
  • {{age in years, months and days|April 1980|1995|format=Cardinal|range=yes}}Lua error in package.lua at line 80: module 'Module:ConvertNumeric' not found.

Inputs and outputs can be localized to suit the language used. Examples are at bnwiki and bswiki.

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