Template:Age in years, months, weeks and days: Difference between revisions
Appearance
Content deleted Content added
HJ Mitchell (talk | contribs) m Protected Template:Age in years, months, weeks and days: Highly visible template ([Edit=Allow only autoconfirmed users] (indefinite)) |
update from sandbox: more features including ability to enter dates in full and to generate a sort key Tag: Replaced |
||
Line 1: | Line 1: | ||
<includeonly>{{#invoke:age|age_generic|template=age_ymwd}}</includeonly><noinclude>{{documentation}}</noinclude> |
|||
{{Age in years, months, weeks and days/display |
|||
|years={{#expr: {{{year2 | {{CURRENTYEAR}} }}} - {{{year1 | {{{year | {{CURRENTYEAR}} }}} }}} - {{#ifexpr: {{{month2 | {{CURRENTMONTH}} }}} > {{{month1 | {{{month | {{CURRENTMONTH}} }}} }}} |
|||
|0 |
|||
|{{#ifexpr: {{{month2 | {{CURRENTMONTH}} }}} < {{{month1 | {{{month | {{CURRENTMONTH}} }}} }}} |
|||
|1 |
|||
|{{#ifexpr: {{{day2 | {{CURRENTDAY}} }}} >= {{{day1 | {{{day | {{CURRENTDAY}} }}} }}} |
|||
|0 |
|||
|1 |
|||
}} |
|||
}} |
|||
}}}} |
|||
|months={{#expr: {{{month2 | {{CURRENTMONTH}} }}} - {{{month1 | {{{month | {{CURRENTMONTH}} }}} }}} + {{#ifexpr: {{{day2 | {{CURRENTDAY}} }}} >= {{{day1 | {{{day | {{CURRENTDAY}} }}} }}} |
|||
|{{#ifexpr: {{{month2 | {{CURRENTMONTH}} }}} >= {{{month1 | {{{month | {{CURRENTMONTH}} }}} }}} |
|||
|0 |
|||
|12 |
|||
}} |
|||
|{{#ifexpr: {{{month2 | {{CURRENTMONTH}} }}} > {{{month1 | {{{month | {{CURRENTMONTH}} }}} }}} |
|||
|-1 |
|||
|11 |
|||
}} |
|||
}}}} |
|||
|weeks={{#ifexpr: ({{{day2 | {{CURRENTDAY}} }}} < {{{day1 | {{{day | {{CURRENTDAY}} }}} }}}) |
|||
|{{age in weeks |
|||
|day1 = {{{day1 | {{{day | {{CURRENTDAY}} }}} }}} |
|||
|month1 = {{#expr:(({{{month2 | {{CURRENTMONTH}} }}} + 10) mod 12) + 1}} |
|||
|year1 = {{#expr:{{{year2 | {{CURRENTYEAR}} }}} - ({{{month2 | {{CURRENTMONTH}} }}} = 1)}} |
|||
|day2 = {{{day2 | {{CURRENTDAY}} }}} |
|||
|month2 = {{{month2 | {{CURRENTMONTH}} }}} |
|||
|year2 = {{{year2 | {{CURRENTYEAR}} }}} |
|||
}} |
|||
|{{age in weeks |
|||
|day1 = {{{day1 | {{{day | {{CURRENTDAY}} }}} }}} |
|||
|month1 = {{{month2 | {{CURRENTMONTH}} }}} |
|||
|year1 = {{{year2 | {{CURRENTYEAR}} }}} |
|||
|day2 = {{{day2 | {{CURRENTDAY}} }}} |
|||
|month2 = {{{month2 | {{CURRENTMONTH}} }}} |
|||
|year2 = {{{year2 | {{CURRENTYEAR}} }}} |
|||
}}}} |
|||
|days={{#expr: ({{{day2 | {{CURRENTDAY}} }}} - {{{day1 | {{{day | {{CURRENTDAY}} }}} }}} + {{#ifexpr: {{{day2 | {{CURRENTDAY}} }}} >= {{{day1 | {{{day | {{CURRENTDAY}} }}} }}} |
|||
|0 |
|||
|{{#switch: {{{month2 | {{CURRENTMONTH}} }}} |
|||
|5|7|10|12 = 30 |
|||
|1|2|4|6|8|9|11 = 31 |
|||
|3={{#ifexpr: {{{year2 | {{CURRENTYEAR}} }}} mod 4 = 0 |
|||
|{{#ifexpr: ({{{year2 | {{CURRENTYEAR}} }}} mod 100 = 0) and ({{{year2 | {{CURRENTYEAR}} }}} mod 400 != 0) |
|||
|28 |
|||
|29 |
|||
}} |
|||
|28 |
|||
}} |
|||
}} |
|||
}}) mod 7}} |
|||
}}<noinclude> |
|||
{{documentation}} |
|||
</noinclude> |
Revision as of 04:48, 28 February 2018
This template is used on approximately 4,500 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 months, weeks and days that have elapsed between two dates.
Usage
{{Age in years, months, weeks and days |month1 = |day1 = |year1 = |month2 = |day2 = | year2 = }}
Note that all parameters default to the current date, so for example, the second set of parameters can be left out to calculate elapsed time since a past date:
{{Age in years, months, weeks and days |month1 = 1 |day1 = 1 |year1 = 1 }}
→ 2023 years, 8 months and 3 weeks
Or simply, using the simpler parameter names, compatible with {{Age in years, months and days}}:
{{Age in years, months, weeks and days |month = 1 |day = 1 |year = 1 }}
→ 2023 years, 8 months and 3 weeks
Alternatively, the first set of parameters can be left out to get the time left until a future date, such as the next Wikipedia Day:
{{Age in years, months, weeks and days |month2 = 1 |day2 = 15 |year2 = 2025 }}
→ 3 months, 3 weeks and 3 days