Template:Age in years, months and days
This template is used on many pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
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.
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, 10 months and 14 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, 10 months, and 14 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|11|15|sc=y}}
returns "8 years and 14 days"
TemplateData
TemplateData for Age in years, months and days
<templatedata>{ "description": "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.", "params": {
"1": { "label": "Year ('from' date)", "description": "The year of the (first) date", "type": "number", "required": true, "aliases": [ "year" ] }, "2": { "label": "Month ('from' date)", "description": "Number of the month of the (first) date", "type": "number", "required": true, "aliases": [ "month" ] }, "3": { "label": "Day of month ('from' date)", "description": "The day of the month of the (first) date", "type": "number", "required": false, "aliases": [ "day" ] }, "4": { "label": "Year ('to' date)", "description": "The year of the 'to' date, if required", "type": "number", "default": "the current year", "required": false }, "5": { "label": "Month ('to' date)", "description": "Number of the month of the 'to' date, if required", "type": "number", "default": "the current month", "required": false }, "6": { "label": "Day of month ('to' date)", "description": "The day of the month of the 'to' date, if required", "type": "number", "default": "the current day", "required": false }, "sc": { "label": "Serial comma", "description": "Enter 'y' to turn on the serial comma after the months", "type": "string/line", "default": "none", "required": false } }
}</templatedata>