Difference between revisions of "Template:Version to date"

From RimWorld Wiki
Jump to navigation Jump to search
m
(simplification)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly>{{#ifexpr: {{#vardefineecho:version | {{#explode: {{{1 | {{SUBPAGENAME}} }}} | . | -1 }} }} > -1 | {{#vardefine:leapDays | {{#expr: floor( ({{#var:version}} + {{#vardefineecho:versionOffset|56}} + {{#vardefineecho:leapYearOffset| 365 - 59 }}) / (365 * 4) ) }} }}{{#vardefine:days | {{#expr: {{#var:version}} + 57}} }}{{#time: Y-m-d | {{#expr: 2013 + floor({{#var:days}} / 365)}}-{{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 333 | 12{{#vardefine:monthDays|333}} |
+
<includeonly>{{#ifexpr: {{#vardefineecho:version | {{#explode: {{{1 | {{SUBPAGENAME}} }}} | . | -1 }} }} > -1 | {{#time: Y-m-d|@{{#expr: 1361973600 + ({{#explode:{{{1 | {{SUBPAGENAME}} }}}|.|-1}} * 24 * 60 * 60)}} }} | {{Error| No valid version number}} }}</includeonly><noinclude>{{Documentation}}</noinclude>
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 303 | 11{{#vardefine:monthDays|303}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 272 | 10{{#vardefine:monthDays|272}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 242 | 09{{#vardefine:monthDays|242}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 211 | 08{{#vardefine:monthDays|211}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 180 | 07{{#vardefine:monthDays|180}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 150 | 06{{#vardefine:monthDays|150}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 > 119 | 05{{#vardefine:monthDays|119}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 >  89 | 04{{#vardefine:monthDays| 89}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 >  58 | 03{{#vardefine:monthDays| 58}} |
 
    {{#ifexpr: ({{#var:days}} - {{#var:leapDays}}) mod 365 >  30 | 02{{#vardefine:monthDays| 30}} |
 
    01{{#vardefine:monthDays|-1}} }} }} }} }} }} }} }} }} }} }} }}-{{#expr: ( ({{#var:days}} - {{#var:leapDays}}) mod 365) - {{#var:monthDays}} {{#ifexpr: ({{#var:version}} + {{#var:versionOffset}} + {{#var:leapYearOffset}}) mod (365 * 4) = 0 | + 1}} }} }}
 
| {{Error| No valid version number}} }}</includeonly><noinclude>{{Documentation}}</noinclude>
 

Latest revision as of 17:57, 5 November 2022

Documentation icon Template documentation[view] [edit] [history] [purge]

Summary[edit]

This template converts the last part of the version number, which represents the number of days since one of the first builds of RimWorld, into the date of the release of that particular version.

This templates takes leap years until Feb 28, 2400 into account.

Usage[edit]

Simply add {{Version to date}} to any subpage with a name like "Version/<version number>" (e.g. Version/1.3.3069).

Alternatively you can simply add the the version number as the first parameter like {{Version to date|Version/1.3.3069}}, {{Version to date|1.3.3069}} or even {{Version to date|3069}}.

Examples[edit]

The (fictional) '''version 0.0.0''' would have been released on {{#time: F j, Y | {{Version to date|0.0.0}} }}.

The (fictional) version 0.0.0 would have been released on February 27, 2013.

The current '''version {{Current Version}}''' has been released on {{#time: F j, Y | {{Version to date|{{Current Version}} }} }}.

The current version 1.5.4241 has been released on October 8, 2024.

Test cases[edit]

Specific versions[edit]

{{Version to date|1.3.3069}} was released on 2021-07-24 and returns 2021-07-24 Check.png

{{Version to date|1.4.3530}} was released on 2022-10-28 and returns 2022-10-28 Check.png

Special dates[edit]

Common year to leap year[edit]

{{Version to date|2498}} should result in 2019-12-31 and returns: 2019-12-31 Check.png

{{Version to date|2499}} should result in 2020-01-01 and returns: 2020-01-01 Check.png

February to March in leap year[edit]

{{Version to date|2557}} should result in 2020-02-28 and returns: 2020-02-28 Check.png

{{Version to date|2558}} should result in 2020-02-29 and returns: 2020-02-29 Check.png

{{Version to date|2559}} should result in 2020-03-01 and returns: 2020-03-01 Check.png

March to April in leap year[edit]

{{Version to date|2589}} should result in 2020-03-31 and returns: 2020-03-31 Check.png

{{Version to date|2590}} should result in 2020-04-01 and returns: 2020-04-01 Check.png

Leap year to common year[edit]

{{Version to date|2864}} should result in 2020-12-31 and returns: 2020-12-31 Check.png

{{Version to date|2865}} should result in 2021-01-01 and returns: 2021-01-01 Check.png

February to March in common year[edit]

{{Version to date|2923}} should result in 2021-02-28 and returns: 2021-02-28 Check.png

{{Version to date|2924}} should result in 2021-03-01 and returns: 2021-03-01 Check.png

March to April in common year[edit]

{{Version to date|2954}} should result in 2021-03-31 and returns: 2021-03-31 Check.png

{{Version to date|2955}} should result in 2021-04-01 and returns: 2021-04-01 Check.png