Difference between revisions of "Template:Age in years, months and days"
en>Johnuniq (use Module:Age for features including ability to enter dates in full and to detect invalid dates) |
(No difference)
|
Revision as of 05:55, 2 April 2018
This template employs intricate features of template syntax.
You are encouraged to familiarise yourself with its setup and parser functions before editing the template. If your edit causes unexpected problems, please undo it quickly, as this template may appear on a large number of pages. You can conduct experiments, and should test all major changes, in either this template's sandbox, the general template sandbox, or your user space before changing anything here. |
This template uses Lua: |
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.
Contents
Usage
{{Age in years, months and days|year= |month= |day= }}
or{{Age in years, months and days|yyyy|mm|dd|yyyy2|mm2|dd2}}
Examples
{{Age in years, months and days|year=2001|month=1|day=15}}
returns "23 years, 9 months and 30 days"{{Age in years, months and days|2001|01|15|2008|09|05}}
returns "7 years, 7 months and 21 days"{{Age in years, months and days|2016|8|4|2016|9|5}}
returns "1 month and 1 day"
Notes
This template can handle an ambiguous start date:
{{Age in years, months and days|year=2010|month=9}}
returns "14 years and 1 or 2 months"{{Age in years, months and days|2009|6||2011|2|21}}
returns "1 year and 7 or 8 months"
But it cannot handle an ambiguous end date:
{{Age in years, months and days|2012|11|2|2016|4}}
returns "3 years and 4 or 5 months"{{Age in years, months and days|2012|11|2|2017}}
returns "4 or 5 years"
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 "8 years, 2 months and 30 days"{{Age in years, months and days|2007|3|12|2015|7|11}}
returns "8 years, 3 months and 29 days"
To add a serial comma specify |sc=y
.
{{Age in years, months and days|year=2001|month=1|day=15|sc=y}}
returns "23 years, 9 months, and 30 days"{{Age in years, months and days|2001|1|15|2008|9|5|sc=y}}
returns "7 years, 7 months, and 21 days"{{Age in years, months and days|2016|10|29|sc=y}}
returns "8 years and 16 days"
TemplateData
TemplateData for Age in years, months and days
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.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Year ('from' date) | 1 year | The year of the (first) date | Number | required |
Month ('from' date) | 2 month | Number of the month of the (first) date | Number | required |
Day of month ('from' date) | 3 day | The day of the month of the (first) date | Number | optional |
Year ('to' date) | 4 | The year of the 'to' date, if required
| Number | optional |
Month ('to' date) | 5 | Number of the month of the 'to' date, if required
| Number | optional |
Day of month ('to' date) | 6 | The day of the month of the 'to' date, if required
| Number | optional |
Serial comma | sc | Enter 'y' to turn on the serial comma after the months
| Line | optional |
See also
The above documentation is transcluded from Template:Age in years, months and days/doc. (edit | history) Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |