Module:Age/doc
This is the documentation page for Module:Age
Template:Module ratingTemplate:High-risk
Templates supported
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
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
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:
- {{age in years and months|year1=2001|month1=1|day1=10|year2=2012|month2=2|day2=20}}→ Template:Age in years and months
- {{age in years and months|year=2001|month=1|day=10|year2=2012|month2=2|day2=20}}→ Template:Age in years and months
- {{age in years and months|2001|1|10|2012|2|20}}→ Template:Age in years and months
- {{age in years and months|2001-1-10|2012-2-20}}→ Template:Age in years and months
- {{age in years and months|10 Jan 2001|20 Feb 2012}}→ Template:Age in years and months
- {{age in years and months|January 10, 2001|Feb 20, 2012}}→ Template:Age in years and months
If the first or second date is omitted, the current date is used. For example:
- {{age in years and months|year2=2012|month2=2|day2=20}}→ Template:Age in years and months
- {{age in years and months||||2012|2|20}}→ Template:Age in years and months
- {{age in years and months||2012-2-20}}→ Template:Age in years and months
- {{age in years and months||20 Feb 2012}}→ Template:Age in years and months
- {{age in years and months||Feb 20, 2012}}→ Template:Age in years and months
- {{age in years and months|year1=2001|month1=1|day1=10}}→ Template:Age in years and months
- {{age in years and months|year=2001|month=1|day=10}}→ Template:Age in years and months
- {{age in years and months|2001|1|10}}→ Template:Age in years and months
- {{age in years and months|2001-1-10}}→ Template:Age in years and months
- {{age in years and months|10 Jan 2001}}→ Template:Age in years and months
- {{age in years and months|January 10, 2001}}→ Template:Age in years and months
Parameters
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 | . | 
| sortable=debug | Same as sortable=onbut 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.
- {{age in years and months|year=2001|month=1|year2=2012|month2=2|range=yes}}→ Template:Age in years and months
- {{age in years and months|2001|1||2012|2|range=yes}}→ Template:Age in years and months
- {{age in years and months|Jan 2001|Feb 2012|range=yes}}→ Template:Age in years and months
- {{age in years and months|Jan 2001|Feb 2012|range=dash}}→ Template:Age in years and months
- {{age in years and months|Jan 2001|Feb 2012|range=no}}→ Template:Age in years and months Template:Green
- {{age in years and months|12 Jan 2001|Feb 2012|range=no}}→ Template:Age in years and months Template:Green
- {{age in years and months|2001|2012|range=no}}→ Template:Age in years and months Template:Green
- {{age in years and months|2001|23 Feb 2012|range=no}}→ Template:Age in years and months Template:Green
The sort key is based on the age in days, and fractions of a day if a time is specified.
- {{age in years and months|10 Jan 2001|20 Feb 2012|sortable=debug}}→ Template:Age in years and months
- {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug}}→ Template:Age in years and months
- {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug|show=hide}}→ Template:Age in years and months
An extra day is added for a duration.
- {{age in years and months|20 Jan 2001|19 Feb 2012}}→ Template:Age in years and months Template:Green
- {{age in years and months|20 Jan 2001|19 Feb 2012|duration=on}}→ Template:Age in years and months
The least-significant time unit can be rounded.
- {{age in years and months|20 Jan 2001|10 Feb 2012}}→ Template:Age in years and months
- {{age in years and months|20 Jan 2001|10 Feb 2012|round=on}}→ Template:Age in years and months Template:Green
Large numbers can be formatted with commas.
- {{age in years and months|120|2012|format=commas|range=yes}}→ Template:Age in years and months
- {{age in years and months|120|2012|format=commas|range=dash}}→ Template:Age in years and months
Spelling numbers
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}}→ Template:Age in years, months and days
Tracking category
Localization
Inputs and outputs can be localized to suit the language used. Examples are at bnwiki and bswiki.
See also
- {{time interval}} • This template supports all age/duration calculations and provides more options such as abbreviating or omitting units.
