Template:Age in years, months and days
some time
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 Commons:Age calculation templates for more information on using this kind of template.
Syntax[edit]
{{Age in years, months and days|year= |month= |day= }}
or{{Age in years, months and days|yyyy|mm|dd|yyyy2|mm2|dd2}}
Examples[edit]
{{Age in years, months and days|year=2001|month=1|day=15}}
returns "22 years, 10 months and 18 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[edit]
This template can handle an ambiguous start date:
{{Age in years, months and days|year=2010|month=9}}
returns "13 years and 2 or 3 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 "Error: Invalid time. 3 years, 5 months and 1 day"{{Age in years, months and days|2012|11|2|2017}}
returns "Error: Invalid time. 5 years, 1 month and 1 day"
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 "22 years, 10 months, and 18 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|2015|11|18|sc=y}}
returns "8 years and 15 days"
TemplateData[edit]
- TemplateData
TemplateData is a way to store information about template parameters (the description of those and of the whole template) for both humans and machines. It is used by VisualEditor and possibly other tools like Upload Wizard.
Existing template documentation
At Wikimedia Commons, it is recommended to use {{TemplateBox}} with either useTemplateData=1
or useTemplateData=only
on the /doc
subpage and transcluding it with {{Documentation}} into the template. <nowiki>
-tags can be wrapped around the arguments, if required, to avoid templates being expanded.
Newly created template documentation and imports
Another option, especially for imported templates, or for users with JSON experience, is placing raw <templatedata>
-tags into the Wikitext of the template, as described in various Wikipediae.
Wikipedia's help about TemplateData • Commons-specific information
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 |