Module:Age/doc: Difference between revisions

From HIBIKIFORUM
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{module rating|p}}
{{Documentation subpage}}
{{Lua|Module:Date|Module:ConvertNumeric}}
__NOTOC__


== Templates supported ==
== Templates supported ==
Line 5: Line 7:
{| class="wikitable"
{| class="wikitable"
! Template                                    !! Required wikitext
! Template                                    !! Required wikitext
|-
| {{tl|extract}}                              || <code><nowiki>{{#invoke:age|extract}}</nowiki></code>
|-
| {{tl|gregorian serial date}}                || <code><nowiki>{{#invoke:age|gsd}}</nowiki></code>
|-
| {{tl|time interval}}                        || <code><nowiki>{{#invoke:age|time_interval}}</nowiki></code>
|-
| {{tl|age in days}}                          || <code><nowiki>{{#invoke:age|age_generic|template=age_days}}</nowiki></code>
|-
| {{tl|age in days nts}}                      || <code><nowiki>{{#invoke:age|age_generic|template=age_days_nts}}</nowiki></code>
|-
| {{tl|duration in days}}                    || <code><nowiki>{{#invoke:age|age_generic|template=duration_days}}</nowiki></code>
|-
| {{tl|duration in days nts}}                || <code><nowiki>{{#invoke:age|age_generic|template=duration_days_nts}}</nowiki></code>
|-
|-
| {{tl|age}}                                  || <code><nowiki>{{#invoke:age|age_generic|template=age_full_years}}</nowiki></code>
| {{tl|age}}                                  || <code><nowiki>{{#invoke:age|age_generic|template=age_full_years}}</nowiki></code>
|-
| {{tl|age nts}}                              || <code><nowiki>{{#invoke:age|age_generic|template=age_full_years_nts}}</nowiki></code>
|-
| {{tl|age in years}}                        || <code><nowiki>{{#invoke:age|age_generic|template=age_in_years}}</nowiki></code>
|-
| {{tl|age in years nts}}                    || <code><nowiki>{{#invoke:age|age_generic|template=age_in_years_nts}}</nowiki></code>
|-
| {{tl|age for infant}}                      || <code><nowiki>{{#invoke:age|age_generic|template=age_infant}}</nowiki></code>
|-
| {{tl|age in months}}                        || <code><nowiki>{{#invoke:age|age_generic|template=age_m}}</nowiki></code>
|-
| {{tl|age in weeks}}                        || <code><nowiki>{{#invoke:age|age_generic|template=age_w}}</nowiki></code>
|-
| {{tl|age in weeks and days}}                || <code><nowiki>{{#invoke:age|age_generic|template=age_wd}}</nowiki></code>
|-
| {{tl|age in years and days}}                || <code><nowiki>{{#invoke:age|age_generic|template=age_yd}}</nowiki></code>
|-
| {{tl|age in years and days nts}}            || <code><nowiki>{{#invoke:age|age_generic|template=age_yd_nts}}</nowiki></code>
|-
|-
| {{tl|age in years and months}}              || <code><nowiki>{{#invoke:age|age_generic|template=age_ym}}</nowiki></code>
| {{tl|age in years and months}}              || <code><nowiki>{{#invoke:age|age_generic|template=age_ym}}</nowiki></code>
|-
| {{tl|age in years, months and days}}        || <code><nowiki>{{#invoke:age|age_generic|template=age_ymd}}</nowiki></code>
|-
| {{tl|age in years, months, weeks and days}} || <code><nowiki>{{#invoke:age|age_generic|template=age_ymwd}}</nowiki></code>
|-
|-
| {{tl|birth date and age}}                  || <code><nowiki>{{#invoke:age|birth_date_and_age}}</nowiki></code>
| {{tl|birth date and age}}                  || <code><nowiki>{{#invoke:age|birth_date_and_age}}</nowiki></code>
Line 55: Line 21:
! Template !! Redirects to
! Template !! Redirects to
|-
|-
| {{no redirect|Template:Ayd|&#123;&#123;ayd&#125;&#125;}} || {{tl|age in years and days nts}}
| {{tls|Bda}} || {{tlf|birth date and age}}
|-
| {{no redirect|Template:Hla|&#123;&#123;hla&#125;&#125;}} || {{tl|age in years, months and days}}
|-
| {{no redirect|Template:Age in months, weeks and days|&#123;&#123;age in months, weeks and days&#125;&#125;}} || {{tl|age in years, months, weeks and days}}
|-
| {{no redirect|Template:Bda|&#123;&#123;bda&#125;&#125;}} || {{tl|birth date and age}}
|-
| {{no redirect|Template:Dda|&#123;&#123;dda&#125;&#125;}} || {{tl|death date and age}}
|-
|-
| {{no redirect|Template:Gsd|&#123;&#123;gsd&#125;&#125;}} || {{tl|gregorian serial date}}
| {{tls|Dda}} || {{tlf|death date and age}}
|}
|}


The age templates expect the older date to be first. The implementations of <code>age_in_years</code> and <code>age_in_years_nts</code> display an error message if that is not the case. If similar checking is wanted for other templates, <code>negative=error</code> can be added to the invoke. For example, {{tl|age}} might use:
The age templates expect the older date to be first. The implementations of {{code|age_in_years}} display an error message if that is not the case. If similar checking is wanted for other templates, {{para|negative|error}} can be added to the invoke. For example, {{tl|age}} might use:
*<code><nowiki>{{#invoke:age|age_generic|template=age_full_years|negative=error}}</nowiki></code>
: <code>{{((}}#invoke:age|age_generic|template=age_full_years|negative=error{{))}}</code>
If <code>negative=error</code> does not apply, a negative difference is indicated with a minus sign (−).
If {{para|negative|error}} does not apply, a negative difference is indicated with a minus sign (−).


== Date formats ==
== 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:
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:
*<code><nowiki>{{age in years and months|year1=2001|month1=1|day1=10|year2=2012|month2=2|day2=20}}</nowiki></code> → {{age in years and months|year1=2001|month1=1|day1=10|year2=2012|month2=2|day2=20}}
* {{tlc|age in years and months|year1=2001|month1=1|day1=10|year2=2012|month2=2|day2=20}} → {{age in years and months|year1=2001|month1=1|day1=10|year2=2012|month2=2|day2=20}}
*<code><nowiki>{{age in years and months|year=2001|month=1|day=10|year2=2012|month2=2|day2=20}}</nowiki></code> → {{age in years and months|year=2001|month=1|day=10|year2=2012|month2=2|day2=20}}
* {{tlc|age in years and months|year=2001|month=1|day=10|year2=2012|month2=2|day2=20}} → {{age in years and months|year=2001|month=1|day=10|year2=2012|month2=2|day2=20}}
*<code><nowiki>{{age in years and months|2001|1|10|2012|2|20}}</nowiki></code> → {{age in years and months|2001|1|10|2012|2|20}}
* {{tlc|age in years and months|2001|1|10|2012|2|20}} → {{age in years and months|2001|1|10|2012|2|20}}
*<code><nowiki>{{age in years and months|2001-1-10|2012-2-20}}</nowiki></code> → {{age in years and months|2001-1-10|2012-2-20}}
* {{tlc|age in years and months|2001-1-10|2012-2-20}} → {{age in years and months|2001-1-10|2012-2-20}}
*<code><nowiki>{{age in years and months|10 Jan 2001|20 Feb 2012}}</nowiki></code> → {{age in years and months|10 Jan 2001|20 Feb 2012}}
* {{tlc|age in years and months|10 Jan 2001|20 Feb 2012}} → {{age in years and months|10 Jan 2001|20 Feb 2012}}
*<code><nowiki>{{age in years and months|January 10, 2001|Feb 20, 2012}}</nowiki></code> → {{age in years and months|January 10, 2001|Feb 20, 2012}}
* {{tlc|age in years and months|January 10, 2001|Feb 20, 2012}} → {{age in years and months|January 10, 2001|Feb 20, 2012}}


If the first or second date is omitted, the current date is used. For example:
If the first or second date is omitted, the current date is used. For example:
*<code><nowiki>{{age in years and months|year2=2012|month2=2|day2=20}}</nowiki></code> → {{age in years and months|year2=2012|month2=2|day2=20}}
* {{tlc|age in years and months|year2=2012|month2=2|day2=20}} → {{age in years and months|year2=2012|month2=2|day2=20}}
*<code><nowiki>{{age in years and months||||2012|2|20}}</nowiki></code> → {{age in years and months||||2012|2|20}}
* {{tlc|age in years and months||||2012|2|20}} → {{age in years and months||||2012|2|20}}
*<code><nowiki>{{age in years and months||2012-2-20}}</nowiki></code> → {{age in years and months||2012-2-20}}
* {{tlc|age in years and months||2012-2-20}} → {{age in years and months||2012-2-20}}
*<code><nowiki>{{age in years and months||20 Feb 2012}}</nowiki></code> → {{age in years and months||20 Feb 2012}}
* {{tlc|age in years and months||20 Feb 2012}} → {{age in years and months||20 Feb 2012}}
*<code><nowiki>{{age in years and months||Feb 20, 2012}}</nowiki></code> → {{age in years and months||Feb 20, 2012}}
* {{tlc|age in years and months||Feb 20, 2012}} → {{age in years and months||Feb 20, 2012}}
*<code><nowiki>{{age in years and months|year1=2001|month1=1|day1=10}}</nowiki></code> → {{age in years and months|year1=2001|month1=1|day1=10}}
* {{tlc|age in years and months|year1=2001|month1=1|day1=10}} → {{age in years and months|year1=2001|month1=1|day1=10}}
*<code><nowiki>{{age in years and months|year=2001|month=1|day=10}}</nowiki></code> → {{age in years and months|year=2001|month=1|day=10}}
* {{tlc|age in years and months|year=2001|month=1|day=10}} → {{age in years and months|year=2001|month=1|day=10}}
*<code><nowiki>{{age in years and months|2001|1|10}}</nowiki></code> → {{age in years and months|2001|1|10}}
* {{tlc|age in years and months|2001|1|10}} → {{age in years and months|2001|1|10}}
*<code><nowiki>{{age in years and months|2001-1-10}}</nowiki></code> → {{age in years and months|2001-1-10}}
* {{tlc|age in years and months|2001-1-10}} → {{age in years and months|2001-1-10}}
*<code><nowiki>{{age in years and months|10 Jan 2001}}</nowiki></code> → {{age in years and months|10 Jan 2001}}
* {{tlc|age in years and months|10 Jan 2001}} → {{age in years and months|10 Jan 2001}}
*<code><nowiki>{{age in years and months|January 10, 2001}}</nowiki></code> → {{age in years and months|January 10, 2001}}
* {{tlc|age in years and months|January 10, 2001}} → {{age in years and months|January 10, 2001}}


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


Examples using the <code>range</code> parameter follow.
Examples using the {{para|range}} parameter follow.
*<code><nowiki>{{age in years and months|year=2001|month=1|year2=2012|month2=2|range=yes}}</nowiki></code> → {{age in years and months|year=2001|month=1|year2=2012|month2=2|range=yes}}
* {{tlc|age in years and months|year=2001|month=1|year2=2012|month2=2|range=yes}} → {{age in years and months|year=2001|month=1|year2=2012|month2=2|range=yes}}
*<code><nowiki>{{age in years and months|2001|1||2012|2|range=yes}}</nowiki></code> → {{age in years and months|2001|1||2012|2|range=yes}}
* {{tlc|age in years and months|2001|1||2012|2|range=yes}} → {{age in years and months|2001|1||2012|2|range=yes}}
*<code><nowiki>{{age in years and months|Jan 2001|Feb 2012|range=yes}}</nowiki></code> → {{age in years and months|Jan 2001|Feb 2012|range=yes}}
* {{tlc|age in years and months|Jan 2001|Feb 2012|range=yes}} → {{age in years and months|Jan 2001|Feb 2012|range=yes}}
*<code><nowiki>{{age in years and months|Jan 2001|Feb 2012|range=dash}}</nowiki></code> → {{age in years and months|Jan 2001|Feb 2012|range=dash}}
* {{tlc|age in years and months|Jan 2001|Feb 2012|range=dash}} → {{age in years and months|Jan 2001|Feb 2012|range=dash}}
*<code><nowiki>{{age in years and months|Jan 2001|Feb 2012|range=no}}</nowiki></code> → {{age in years and months|Jan 2001|Feb 2012|range=no}} {{font color|green|assume 1 Jan 2001 to 1 Feb 2012}}
* {{tlc|age in years and months|Jan 2001|Feb 2012|range=no}} → {{age in years and months|Jan 2001|Feb 2012|range=no}} {{font color|green|assume 1 Jan 2001 to 1 Feb 2012}}
*<code><nowiki>{{age in years and months|12 Jan 2001|Feb 2012|range=no}}</nowiki></code> → {{age in years and months|12 Jan 2001|Feb 2012|range=no}} {{font color|green|assume 12 Jan 2001 to 12 Feb 2012}}
* {{tlc|age in years and months|12 Jan 2001|Feb 2012|range=no}} → {{age in years and months|12 Jan 2001|Feb 2012|range=no}} {{font color|green|assume 12 Jan 2001 to 12 Feb 2012}}
*<code><nowiki>{{age in years and months|2001|2012|range=no}}</nowiki></code> → {{age in years and months|2001|2012|range=no}} {{font color|green|assume 1 Jan 2001 to 1 Jan 2012}}
* {{tlc|age in years and months|2001|2012|range=no}} → {{age in years and months|2001|2012|range=no}} {{font color|green|assume 1 Jan 2001 to 1 Jan 2012}}
*<code><nowiki>{{age in years and months|2001|23 Feb 2012|range=no}}</nowiki></code> → {{age in years and months|2001|23 Feb 2012|range=no}} {{font color|green|assume 23 Feb 2001 to 23 Feb 2012}}
* {{tlc|age in years and months|2001|23 Feb 2012|range=no}} → {{age in years and months|2001|23 Feb 2012|range=no}} {{font color|green|assume 23 Feb 2001 to 23 Feb 2012}}


The sort key is based on the age in days, and fractions of a day if a time is specified.
The sort key is based on the age in days, and fractions of a day if a time is specified.
*<code><nowiki>{{age in years and months|10 Jan 2001|20 Feb 2012|sortable=debug}}</nowiki></code> → {{age in years and months|10 Jan 2001|20 Feb 2012|sortable=debug}}
* {{tlc|age in years and months|10 Jan 2001|20 Feb 2012|sortable=debug}} → {{age in years and months|10 Jan 2001|20 Feb 2012|sortable=debug}}
*<code><nowiki>{{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug}}</nowiki></code> → {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug}}
* {{tlc|age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug}} → {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug}}
*<code><nowiki>{{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug|show=hide}}</nowiki></code> → {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug|show=hide}}
* {{tlc|age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug|show=hide}} → {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012|sortable=debug|show=hide}}


An extra day is added for a duration.
An extra day is added for a duration.
*<code><nowiki>{{age in years and months|20 Jan 2001|19 Feb 2012}}</nowiki></code> → {{age in years and months|20 Jan 2001|19 Feb 2012}} {{font color|green|one day short of 11 years, 1 month}}
* {{tlc|age in years and months|20 Jan 2001|19 Feb 2012}} → {{age in years and months|20 Jan 2001|19 Feb 2012}} {{font color|green|one day short of 11 years, 1 month}}
*<code><nowiki>{{age in years and months|20 Jan 2001|19 Feb 2012|duration=on}}</nowiki></code> → {{age in years and months|20 Jan 2001|19 Feb 2012|duration=on}}
* {{tlc|age in years and months|20 Jan 2001|19 Feb 2012|duration=on}} → {{age in years and months|20 Jan 2001|19 Feb 2012|duration=on}}


The least-significant time unit can be rounded.
The least-significant time unit can be rounded.
*<code><nowiki>{{age in years and months|20 Jan 2001|10 Feb 2012}}</nowiki></code> → {{age in years and months|20 Jan 2001|10 Feb 2012}}
* {{tlc|age in years and months|20 Jan 2001|10 Feb 2012}} → {{age in years and months|20 Jan 2001|10 Feb 2012}}
*<code><nowiki>{{age in years and months|20 Jan 2001|10 Feb 2012|round=on}}</nowiki></code> → {{age in years and months|20 Jan 2001|10 Feb 2012|round=on}} {{font color|green|round to nearest month}}
* {{tlc|age in years and months|20 Jan 2001|10 Feb 2012|round=on}} → {{age in years and months|20 Jan 2001|10 Feb 2012|round=on}} {{font color|green|round to nearest month}}


Large numbers can be formatted with commas.
Large numbers can be formatted with commas.
*<code><nowiki>{{age in years and months|120|2012|format=commas|range=yes}}</nowiki></code> → {{age in years and months|120|2012|format=commas|range=yes}}
* {{tlc|age in years and months|120|2012|format=commas|range=yes}} → {{age in years and months|120|2012|format=commas|range=yes}}
*<code><nowiki>{{age in years and months|120|2012|format=commas|range=dash}}</nowiki></code> → {{age in years and months|120|2012|format=commas|range=dash}}
* {{tlc|age in years and months|120|2012|format=commas|range=dash}} → {{age in years and months|120|2012|format=commas|range=dash}}


== Spelling numbers ==
== Spelling numbers ==
The templates that use <code>age_generic</code> can display numbers in words rather than using numerals. The result can be a [[Wikipedia:Cardinal number (linguistics)|cardinal number]] (such as "five") or an [[Wikipedia:Ordinal number (linguistics)|ordinal number]] (such as "fifth"). The first letter can be in uppercase, and US spelling of numbers can be used. Examples:
The templates that use {{code|age_generic}} can display numbers in words rather than using numerals. The result can be a [[Wikipedia:Cardinal number (linguistics)|cardinal number]] (such as "five") or an [[Wikipedia:Ordinal number (linguistics)|ordinal number]] (such as "fifth"). The first letter can be in uppercase, and US spelling of numbers can be used. Examples:
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=cardinal}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=cardinal}}
* {{tlc|age|1898|01|01|2018|02|01|format {{=}} cardinal}} → {{age|1898|01|01|2018|02|01|format=cardinal}}
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=cardinal_us}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=cardinal_us}}
* {{tlc|age|1898|01|01|2018|02|01|format {{=}} cardinal_us}} → {{age|1898|01|01|2018|02|01|format=cardinal_us}}
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=Cardinal}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=Cardinal}}
* {{tlc|age|1898|01|01|2018|02|01|format {{=}} Cardinal}} → {{age|1898|01|01|2018|02|01|format=Cardinal}}
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=Cardinal_us}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=Cardinal_us}}
* {{tlc|age|1898|01|01|2018|02|01|format {{=}} Cardinal_us}} → {{age|1898|01|01|2018|02|01|format=Cardinal_us}}
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=Ordinal}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=Ordinal}}
* {{tlc|{age|1898|01|01|2018|02|01|format {{=}} Ordinal}} → {{age|1898|01|01|2018|02|01|format=Ordinal}}
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=Ordinal_us}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=Ordinal_us}}
* {{tlc|age|1898|01|01|2018|02|01|format {{=}} Ordinal_us}} → {{age|1898|01|01|2018|02|01|format=Ordinal_us}}
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=ordinal}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=ordinal}}
* {{tlc|age|1898|01|01|2018|02|01|format {{=}} ordinal}} → {{age|1898|01|01|2018|02|01|format=ordinal}}
*<code><nowiki>{{age|1898|01|01|2018|02|01|format=ordinal_us}}</nowiki></code> → {{age|1898|01|01|2018|02|01|format=ordinal_us}}
* {{tlc|age|1898|01|01|2018|02|01|format {{=}} ordinal_us}} → {{age|1898|01|01|2018|02|01|format=ordinal_us}}
*<code><nowiki>{{age|1980|1990|range=yes|format=Cardinal}}</nowiki></code> → {{age|1980|1990|range=yes|format=Cardinal}}
* {{tlc|ge|1980|1990|range=yes|format {{=}} Cardinal}} → {{age|1980|1990|range=yes|format=Cardinal}}
*<code><nowiki>{{age in years, months and days|April 1980|1995|format=Cardinal|range=yes}}</nowiki></code> → {{age in years, months and days|April 1980|1995|format=Cardinal|range=yes}}


<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<includeonly>{{sandbox other||{{testcases other||
<!-- Categories below this line, please; interwikis at Wikidata -->
 
<!-- Categories below this line, please -->
[[Category:Modules]]
[[Category:Modules that add a tracking category]]
[[Category:Modules that add a tracking category]]
 
}}}}</includeonly>
}}</includeonly>

Latest revision as of 05:09, 15 June 2023

Light bulb.png }}
It contains usage information, categories and other content that is not part of the original module page.


Templates supported

Module:Age implements the following templates:

Template Required wikitext
{{age}} {{#invoke:age|age_generic|template=age_full_years}}
{{age in years and months}} {{#invoke:age|age_generic|template=age_ym}}
{{birth date and age}} {{#invoke:age|birth_date_and_age}}
{{death date and age}} {{#invoke:age|death_date_and_age}}

Redirects

Template Redirects to
{{Bda}} {{birth date and age}}
{{Dda}} {{death date and age}}

The age templates expect the older date to be first. The implementations of age_in_years 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}} → 11 years, 1 month
  • {{age in years and months}} → 11 years, 1 month
  • {{age in years and months|2001|1|10|2012|2|20}} → 11 years, 1 month
  • {{age in years and months|2001-1-10|2012-2-20}} → 11 years, 1 month
  • {{age in years and months|10 Jan 2001|20 Feb 2012}} → 11 years, 1 month
  • {{age in years and months|January 10, 2001|Feb 20, 2012}} → 11 years, 1 month

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

  • {{age in years and months}} → −12 years, 9 months
  • {{age in years and months|2012|2|20}} → −12 years, 9 months
  • {{age in years and months|2012-2-20}} → −12 years, 9 months
  • {{age in years and months|20 Feb 2012}} → −12 years, 9 months
  • {{age in years and months|Feb 20, 2012}} → −12 years, 9 months
  • {{age in years and months}} → 23 years, 10 months
  • {{age in years and months}} → 23 years, 10 months
  • {{age in years and months|2001|1|10}} → 23 years, 10 months
  • {{age in years and months|2001-1-10}} → 23 years, 10 months
  • {{age in years and months|10 Jan 2001}} → 23 years, 10 months
  • {{age in years and months|January 10, 2001}} → 23 years, 10 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 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.

Examples using the |range= parameter follow.

  • {{age in years and months}} → 11 years, 0 or 1 month
  • {{age in years and months|2001|1|2012|2}} → 11 years, 0 or 1 month
  • {{age in years and months|Jan 2001|Feb 2012}} → 11 years, 0 or 1 month
  • {{age in years and months|Jan 2001|Feb 2012}} → 11 years, 0–1 month
  • {{age in years and months|Jan 2001|Feb 2012}} → 11 years, 1 month assume 1 Jan 2001 to 1 Feb 2012
  • {{age in years and months|12 Jan 2001|Feb 2012}} → 11 years, 1 month assume 12 Jan 2001 to 12 Feb 2012
  • {{age in years and months|2001|2012}} → 11 years assume 1 Jan 2001 to 1 Jan 2012
  • {{age in years and months|2001|23 Feb 2012}} → 11 years assume 23 Feb 2001 to 23 Feb 2012

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}}7003405800000000000♠11 years, 1 month
  • {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012}}7003405825000000000♠11 years, 1 month
  • {{age in years and months|10 Jan 2001|6:00 am 20 Feb 2012}}7003405825000000000♠

An extra day is added for a duration.

  • {{age in years and months|20 Jan 2001|19 Feb 2012}} → 11 years one day short of 11 years, 1 month
  • {{age in years and months|20 Jan 2001|19 Feb 2012}} → 11 years, 1 month

The least-significant time unit can be rounded.

  • {{age in years and months|20 Jan 2001|10 Feb 2012}} → 11 years
  • {{age in years and months|20 Jan 2001|10 Feb 2012}} → 11 years, 1 month round to nearest month

Large numbers can be formatted with commas.

  • {{age in years and months|120|2012}} → 1,891 or 1,892 years
  • {{age in years and months|120|2012}} → 1,891–1,892 years

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}} → one hundred and twenty
  • {{age|1898|01|01|2018|02|01|format = cardinal_us}} → one hundred twenty
  • {{age|1898|01|01|2018|02|01|format = Cardinal}} → One hundred and twenty
  • {{age|1898|01|01|2018|02|01|format = Cardinal_us}} → One hundred twenty
  • {{{age|1898|01|01|2018|02|01|format = Ordinal}} → One hundred and twentieth
  • {{age|1898|01|01|2018|02|01|format = Ordinal_us}} → One hundred twentieth
  • {{age|1898|01|01|2018|02|01|format = ordinal}} → one hundred and twentieth
  • {{age|1898|01|01|2018|02|01|format = ordinal_us}} → one hundred twentieth
  • {{ge|1980|1990|format = Cardinal}} → Nine or ten