Difference between revisions of "Age"
From Sega Retro
(total rewrite) |
|||
Line 1: | Line 1: | ||
− | <includeonly>{{#vardefine: | + | <includeonly>{{clearvar|dateisvague}}{{#vardefine:date2|{{#if:{{{2|}}}|{{{2|}}}|{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}}}}}}{{#vardefine:date1y|{{#sub:{{#explode:{{{1|}}}|-|0}}|0|4}}}}{{#if:{{#pos:{{#var:date1y}}|x}} |
− | + | | {{#vardefine:dateisvague|true}}{{#vardefine:date1ymin|{{#replace:{{#var:date1y}}|x|0}}}}{{#vardefine:date1ymax|{{#replace:{{#var:date1y}}|x|9}}}} | |
− | + | | {{#vardefine:date1ymin|{{#var:date1y}}}}{{#vardefine:date1ymax|{{#var:date1y}}}}}}{{#vardefine:date1m|{{#replace:{{#sub:{{#explode:{{{1|}}}|-|1}}|0|2}}|x}}}}{{#if:{{#var:date1m}} | |
− | + | | {{#vardefine:date1mmin|{{#var:date1m}}}}{{#vardefine:date1mmax|{{#var:date1m}}}} | |
− | | {{# | + | | {{#vardefine:dateisvague|true}}{{#vardefine:date1mmin|01}}{{#vardefine:date1mmax|12}}}}{{#vardefine:date1d|{{#replace:{{#sub:{{#explode:{{{1|}}}|-|2}}|0|2}}|x}}}}{{#if:{{#var:date1d}} |
− | }}{{# | + | | {{#vardefine:date1dmin|{{#var:date1d}}}}{{#vardefine:date1dmax|{{#var:date1d}}}} |
− | | {{#vardefine: | + | | {{#vardefine:dateisvague|true}}{{#vardefine:date1dmin|01}}{{#vardefine:date1dmax|31}}}}{{#if:{{#var:dateisvague}} |
− | + | | {{#vardefine:age1|{{age/CalcAge|{{#var:date1ymax}}-{{#var:date1mmax}}-{{#var:date1dmax}}|{{#var:date2}}}}}}{{#vardefine:age2|{{age/CalcAge|{{#var:date1ymin}}-{{#var:date1mmin}}-{{#var:date1dmin}}|{{#var:date2}}}}}}{{#ifeq:{{#var:age1}}|{{#var:age2}} | |
− | + | | {{#var:age1}} | |
− | + | | {{#if:{{{highonly|}}}||{{#var:age1}}}}{{#if:{{{lowonly|}}}{{{highonly|}}}||-}}{{#if:{{{lowonly|}}}||{{#var:age2}}}}}} | |
− | + | | {{age/CalcAge|{{#var:date1y}}-{{#var:date1m}}-{{#var:date1d}}|{{#var:date2}}}} | |
− | + | }}</includeonly><noinclude> | |
− | |||
− | |||
− | |||
− | }}{{# | ||
− | | {{ | ||
− | |||
Convert a date in the format YYYY-MM-DD to an age in years (based on the current date). | Convert a date in the format YYYY-MM-DD to an age in years (based on the current date). | ||
==Usage== | ==Usage== | ||
− | + | * <nowiki>{{age|1991-06-23}}</nowiki> = {{age|1991-06-23}} | |
− | + | * <nowiki>{{age|1991}}</nowiki> = {{age|1991}} | |
− | + | * <nowiki>{{age|1999-xx-xx}}</nowiki> = {{age|1999-xx-xx}} | |
− | + | * <nowiki>{{age|199x}}</nowiki> = {{age|199x}} | |
− | {{age| | + | * <nowiki>{{age|199x|lowonly=yes}}</nowiki> = {{age|199x|lowonly=yes}} |
+ | * <nowiki>{{age|199x|highonly=yes}}</nowiki> = {{age|199x|highonly=yes}} | ||
===Optional parameter=== | ===Optional parameter=== | ||
Add a second date to calculate the age on that date. | Add a second date to calculate the age on that date. | ||
− | + | * <nowiki>{{age|1991-06-23|1999-09-09}}</nowiki> = {{age|1991-06-23|1999-09-09}} | |
− | |||
− | |||
− | |||
− | {{age|1991-06-23|1999-09-09}} | ||
[[Category:Sega Retro templates]]</noinclude> | [[Category:Sega Retro templates]]</noinclude> |
Revision as of 17:40, 19 March 2019
Convert a date in the format YYYY-MM-DD to an age in years (based on the current date).
Usage
- {{age|1991-06-23}} = 33
- {{age|1991}} = 33-34
- {{age|1999-xx-xx}} = 25-26
- {{age|199x}} = 25-35
- {{age|199x|lowonly=yes}} = 25
- {{age|199x|highonly=yes}} = 35
Optional parameter
Add a second date to calculate the age on that date.
- {{age|1991-06-23|1999-09-09}} = 8