Changes
Template:Age in years, months and days/doc (view source)
Revision as of 19:43, 23 October 2018
, 6 years agoadd {{Lua|Module:Age}}, misc formatting
{{Documentation subpage}}
<!-- Place categories where indicated at the bottom of this page and interwikis at Wikidata -->
{{Intricate template}}
{{Lua|Module:Age}}
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 [[MOS:SERIAL|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 {{para|sc|y}} to the template invocation will include one.
See [[Wikipedia:Age calculation templates]] for more information on using this kind of template.
== Usage ==
: <code><nowiki>{{Age in years, months and days|year= |month= |day= }}</nowiki></code> or
: <code><nowiki>{{Age in years, months and days|yyyy|mm|dd|yyyy2|mm2|dd2}}</nowiki></code>
== Examples ==
: <code><nowiki>{{Age in years, months and days|year=2001|month=1|day=15}}</nowiki></code> returns "{{Age in years, months and days|year=2001|month=1|day=15}}"
: <code><nowiki>{{Age in years, months and days|2001|01|15|2008|09|05}}</nowiki></code> returns "{{Age in years, months and days|2001|01|15|2008|09|05}}"
: <code><nowiki>{{Age in years, months and days|2016|8|4|2016|9|5}}</nowiki></code> returns "{{Age in years, months and days|2016|8|4|2016|9|5}}"
== Notes ==
This template can handle an ambiguous start date:
: <code><nowiki>{{Age in years, months and days|year=2010|month=9}}</nowiki></code> returns "{{Age in years, months and days|year=2010|month=9}}"
: <code><nowiki>{{Age in years, months and days|2009|6||2011|2|21}}</nowiki></code> returns "{{Age in years, months and days|2009|6||2011|2|21}}"
But it cannot handle an ambiguous end date:
: <code><nowiki>{{Age in years, months and days|2012|11|2|2016|4}}</nowiki></code> returns "{{Age in years, months and days|2012|11|2|2016|4}}"
: <code><nowiki>{{Age in years, months and days|2012|11|2|2017}}</nowiki></code> returns "{{Age in years, months and days|2012|11|2|2017}}"
Since the length of a month varies, the number of days to roll over the number of months varies.
: <code><nowiki>{{Age in years, months and days|2007|3|12|2015|6|11}}</nowiki></code> returns "{{Age in years, months and days|2007|3|12|2015|6|11}}"
: <code><nowiki>{{Age in years, months and days|2007|3|12|2015|7|11}}</nowiki></code> returns "{{Age in years, months and days|2007|3|12|2015|7|11}}"
To add a [[serial comma]] specify {{para|sc|y}}.
: <code><nowiki>{{Age in years, months and days|year=2001|month=1|day=15|sc=y}}</nowiki></code> returns "{{Age in years, months and days|year=2001|month=1|day=15|sc=y}}"
: <code><nowiki>{{Age in years, months and days|2001|1|15|2008|9|5|sc=y}}</nowiki></code> returns "{{Age in years, months and days|2001|1|15|2008|9|5|sc=y}}"
: <code><nowiki>{{Age in years, months and days|</nowiki>{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#expr:{{CURRENTYEAR}}-8}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|2006|{{#expr:{{CURRENTYEAR}}-8}}}}}}<nowiki>|</nowiki>{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|12|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|8|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTMONTH}}-1}}|{{CURRENTMONTH}}}}}}}}<nowiki>|</nowiki>{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<4|4|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}}}}}<nowiki>|sc=y}}</nowiki></code> returns "{{Age in years, months and days| {{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#expr:{{CURRENTYEAR}}-8}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|2006|{{#expr:{{CURRENTYEAR}}-8}}}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|12|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|8|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTMONTH}}-1}}|{{CURRENTMONTH}}}}}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<4|4|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}}}}}|sc=y}}"
== TemplateData ==
{{TemplateData header}}
<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>
== See also ==
* [[Wikipedia:Age calculation templates]]
* {{tl|User Wikipedian For}}
* {{tl|User admin since}}
{{Birth, death and age templates |age}}
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
| <!-- Categories below this line, please; interwikis at Wikidata. -->
[[Category:Date-computing templates]]
[[Category:Date mathematics templates]]
}}</includeonly>
<!-- Place categories where indicated at the bottom of this page and interwikis at Wikidata -->
{{Intricate template}}
{{Lua|Module:Age}}
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 [[MOS:SERIAL|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 {{para|sc|y}} to the template invocation will include one.
See [[Wikipedia:Age calculation templates]] for more information on using this kind of template.
== Usage ==
: <code><nowiki>{{Age in years, months and days|year= |month= |day= }}</nowiki></code> or
: <code><nowiki>{{Age in years, months and days|yyyy|mm|dd|yyyy2|mm2|dd2}}</nowiki></code>
== Examples ==
: <code><nowiki>{{Age in years, months and days|year=2001|month=1|day=15}}</nowiki></code> returns "{{Age in years, months and days|year=2001|month=1|day=15}}"
: <code><nowiki>{{Age in years, months and days|2001|01|15|2008|09|05}}</nowiki></code> returns "{{Age in years, months and days|2001|01|15|2008|09|05}}"
: <code><nowiki>{{Age in years, months and days|2016|8|4|2016|9|5}}</nowiki></code> returns "{{Age in years, months and days|2016|8|4|2016|9|5}}"
== Notes ==
This template can handle an ambiguous start date:
: <code><nowiki>{{Age in years, months and days|year=2010|month=9}}</nowiki></code> returns "{{Age in years, months and days|year=2010|month=9}}"
: <code><nowiki>{{Age in years, months and days|2009|6||2011|2|21}}</nowiki></code> returns "{{Age in years, months and days|2009|6||2011|2|21}}"
But it cannot handle an ambiguous end date:
: <code><nowiki>{{Age in years, months and days|2012|11|2|2016|4}}</nowiki></code> returns "{{Age in years, months and days|2012|11|2|2016|4}}"
: <code><nowiki>{{Age in years, months and days|2012|11|2|2017}}</nowiki></code> returns "{{Age in years, months and days|2012|11|2|2017}}"
Since the length of a month varies, the number of days to roll over the number of months varies.
: <code><nowiki>{{Age in years, months and days|2007|3|12|2015|6|11}}</nowiki></code> returns "{{Age in years, months and days|2007|3|12|2015|6|11}}"
: <code><nowiki>{{Age in years, months and days|2007|3|12|2015|7|11}}</nowiki></code> returns "{{Age in years, months and days|2007|3|12|2015|7|11}}"
To add a [[serial comma]] specify {{para|sc|y}}.
: <code><nowiki>{{Age in years, months and days|year=2001|month=1|day=15|sc=y}}</nowiki></code> returns "{{Age in years, months and days|year=2001|month=1|day=15|sc=y}}"
: <code><nowiki>{{Age in years, months and days|2001|1|15|2008|9|5|sc=y}}</nowiki></code> returns "{{Age in years, months and days|2001|1|15|2008|9|5|sc=y}}"
: <code><nowiki>{{Age in years, months and days|</nowiki>{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#expr:{{CURRENTYEAR}}-8}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|2006|{{#expr:{{CURRENTYEAR}}-8}}}}}}<nowiki>|</nowiki>{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|12|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|8|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTMONTH}}-1}}|{{CURRENTMONTH}}}}}}}}<nowiki>|</nowiki>{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<4|4|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}}}}}<nowiki>|sc=y}}</nowiki></code> returns "{{Age in years, months and days| {{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#expr:{{CURRENTYEAR}}-8}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|2006|{{#expr:{{CURRENTYEAR}}-8}}}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|12|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<45|8|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTMONTH}}-1}}|{{CURRENTMONTH}}}}}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<14|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}|{{#ifexpr:{{#time:z|{{CURRENTMONTHNAME}} {{CURRENTDAY}}}}<4|4|{{#ifexpr:{{CURRENTDAY}}<15|{{#expr:{{CURRENTDAY}}+15}}|{{#expr:{{CURRENTDAY}}-14}}}}}}}}|sc=y}}"
== TemplateData ==
{{TemplateData header}}
<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>
== See also ==
* [[Wikipedia:Age calculation templates]]
* {{tl|User Wikipedian For}}
* {{tl|User admin since}}
{{Birth, death and age templates |age}}
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
| <!-- Categories below this line, please; interwikis at Wikidata. -->
[[Category:Date-computing templates]]
[[Category:Date mathematics templates]]
}}</includeonly>