Module:Age/doc: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{ | {{Lua|Module:Date|Module:ConvertNumeric}} | ||
__NOTOC__ | |||
== Templates supported == | == Templates supported == | ||
Line 6: | Line 6: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Template !! Required wikitext | ! Template !! Required wikitext | ||
|- | |- | ||
| {{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 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 | | {{tl|birth date and age}} || {{code|{{#invoke:age|birth_date_and_age}}}} | ||
|- | |- | ||
| {{tl| | | {{tl|death date and age}} || {{code|{{#invoke:age|death_date_and_age}}}} | ||
|} | |} | ||
Line 56: | Line 20: | ||
! Template !! Redirects to | ! Template !! Redirects to | ||
|- | |- | ||
| {{ | | {{tlf|Bda}} || {{tl|birth date and age}} | ||
|- | |- | ||
| {{ | | {{tlf|Dda}} || {{tl|death date and age}} | ||
|} | |} | ||
The age templates expect the older date to be first. The implementations of | 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> | |||
If | 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: | ||
* | * {{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}} | ||
* | * {{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}} | ||
* | * {{tlc|age in years and months|2001|1|10|2012|2|20}} → {{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}} | ||
* | * {{tlc|age in years and months|10 Jan 2001|20 Feb 2012}} → {{age in years and months|10 Jan 2001|20 Feb 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: | ||
* | * {{tlc|age in years and months|year2=2012|month2=2|day2=20}} → {{age in years and months|year2=2012|month2=2|day2=20}} | ||
* | * {{tlc|age in years and months||||2012|2|20}} → {{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}} | ||
* | * {{tlc|age in years and months||20 Feb 2012}} → {{age in years and months||20 Feb 2012}} | ||
* | * {{tlc|age in years and months||Feb 20, 2012}} → {{age in years and months||Feb 20, 2012}} | ||
* | * {{tlc|age in years and months|year1=2001|month1=1|day1=10}} → {{age in years and months|year1=2001|month1=1|day1=10}} | ||
* | * {{tlc|age in years and months|year=2001|month=1|day=10}} → {{age in years and months|year=2001|month=1|day=10}} | ||
* | * {{tlc|age in years and months|2001|1|10}} → {{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}} | ||
* | * {{tlc|age in years and months|10 Jan 2001}} → {{age in years and months|10 Jan 2001}} | ||
* | * {{tlc|age in years and months|January 10, 2001}} → {{age in years and months|January 10, 2001}} | ||
== Parameters == | == Parameters == | ||
Line 100: | Line 56: | ||
! Parameter !! Description | ! Parameter !! Description | ||
|- | |- | ||
| | | {{para|duration|on}} || The finishing date is included in the result; that adds one day to the age. | ||
|- | |- | ||
| | | {{para|fix|on}} || Adjust invalid time units. See [[Wikipedia:Template:Extract#Fix|Template:Extract#Fix]]. | ||
|- | |- | ||
| | | {{para|format|commas}} || A value of 1,000 or more is displayed with commas. | ||
|- | |- | ||
| | | {{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. | ||
|- | |- | ||
| | | {{para|format|cardinal}} || Display the resulting number using words such as "five" 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]]. | ||
|- | |- | ||
| | | {{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". | ||
|- | |- | ||
| | | {{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]] (–). | ||
|- | |- | ||
| | | {{para|range|yes}} || Accept a year or year/month, and show the range with "or". | ||
|- | |- | ||
| | | {{para|range|no}} || Accept a year only, or year/month, but show only a single age as if full dates had been entered. | ||
|- | |- | ||
| | | {{para|round|on}} || The age is rounded to the nearest least-significant time unit. | ||
|- | |- | ||
| | | {{para|sc|on}} || A [[Wikipedia:serial comma|serial comma]] is used (only useful when three or more values are displayed). | ||
|- | |- | ||
| | | {{para|sc|yes}} || Same as {{para|sc|on}}. | ||
|- | |- | ||
| | | {{para|show|hide}} || The age is not displayed; may be useful with {{para|sortable|on}}. | ||
|- | |- | ||
| | | {{para|sortable|on}} || Insert a hidden sort key before the result (for use in [[Wikipedia:SORT|sortable tables]]). | ||
|- | |- | ||
| | | {{para|sortable|table}} || Insert a sort key using table syntax <code>data-sort-value="''value''"|</code> | ||
|- | |- | ||
| | | {{para|sortable|debug}} || Same as {{para|sortable|on}} but the sort key is displayed for testing. | ||
|- | |- | ||
| | | {{para|sortable|off}} || No sort key. | ||
|} | |} | ||
Examples using the | Examples using the {{para|range}} parameter follow. | ||
* | * {{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}} | ||
* | * {{tlc|age in years and months|2001|1||2012|2|range=yes}} → {{age in years and months|2001|1||2012|2|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}} | ||
* | * {{tlc|age in years and months|Jan 2001|Feb 2012|range=dash}} → {{age in years and months|Jan 2001|Feb 2012|range=dash}} | ||
* | * {{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}} | ||
* | * {{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}} | ||
* | * {{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}} | ||
* | * {{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. | ||
* | * {{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}} | ||
* | * {{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}} | ||
* | * {{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. | ||
* | * {{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}} | ||
* | * {{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. | ||
* | * {{tlc|age in years and months|20 Jan 2001|10 Feb 2012}} → {{age in years and months|20 Jan 2001|10 Feb 2012}} | ||
* | * {{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. | ||
* | * {{tlc|age in years and months|120|2012|format=commas|range=yes}} → {{age in years and months|120|2012|format=commas|range=yes}} | ||
* | * {{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 | 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: | ||
* | * {{tlc|age|1898|01|01|2018|02|01|format {{=}} cardinal}} → {{age|1898|01|01|2018|02|01|format=cardinal}} | ||
* | * {{tlc|age|1898|01|01|2018|02|01|format {{=}} cardinal_us}} → {{age|1898|01|01|2018|02|01|format=cardinal_us}} | ||
* | * {{tlc|age|1898|01|01|2018|02|01|format {{=}} Cardinal}} → {{age|1898|01|01|2018|02|01|format=Cardinal}} | ||
* | * {{tlc|age|1898|01|01|2018|02|01|format {{=}} Cardinal_us}} → {{age|1898|01|01|2018|02|01|format=Cardinal_us}} | ||
* | * {{tlc|{age|1898|01|01|2018|02|01|format {{=}} Ordinal}} → {{age|1898|01|01|2018|02|01|format=Ordinal}} | ||
* | * {{tlc|age|1898|01|01|2018|02|01|format {{=}} Ordinal_us}} → {{age|1898|01|01|2018|02|01|format=Ordinal_us}} | ||
* | * {{tlc|age|1898|01|01|2018|02|01|format {{=}} ordinal}} → {{age|1898|01|01|2018|02|01|format=ordinal}} | ||
* | * {{tlc|age|1898|01|01|2018|02|01|format {{=}} ordinal_us}} → {{age|1898|01|01|2018|02|01|format=ordinal_us}} | ||
* | * {{tlc|ge|1980|1990|range=yes|format {{=}} Cardinal}} → {{age|1980|1990|range=yes|format=Cardinal}} | ||
<includeonly>{{sandbox other||{{testcases other|| | |||
<!-- Categories below this line, please --> | <!-- Categories below this line, please --> | ||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category:Modules that add a tracking category]] | [[Category:Modules that add a tracking category]] | ||
</includeonly> | }}}}</includeonly> |
Revision as of 04:36, 11 June 2023
This module depends on the following other modules: |
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}} | <strong class="error">Error: Need valid birth date: year, month, day</strong>
|
{{death date and age}} | <strong class="error">Error: Need valid death date (first date): year, month, day</strong>
|
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