Template:Gregorian serial date
From Iwe
(Difference between revisions)
Line 1: | Line 1: | ||
{{#expr: | {{#expr: | ||
- | + | <!--Days from all years past:--> | |
+ (({{{year|{{CURRENTYEAR}}}}} - 1) * 365) | + (({{{year|{{CURRENTYEAR}}}}} - 1) * 365) | ||
- | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 4)) / 4) | + | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 4)) / 4) <!--add a day for every leap--> |
- | - ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 100)) / 100) | + | - ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 100)) / 100) <!--subtract 100 year exception--> |
- | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 400)) / 400) | + | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 400)) / 400) <!--readd 400 year exception--> |
- | + | <!--Days so far this year:--> | |
- | + {{ #ifexpr: | + | + {{ #ifexpr: <!--add days for past months this year--> <!--Gives 1 or 2 extra days because of February--> |
({{{month|{{CURRENTMONTH}}}}} - 1) < 8 | ({{{month|{{CURRENTMONTH}}}}} - 1) < 8 | ||
| ( ({{{month|{{CURRENTMONTH}}}}} - 1) * 30.5 round 0) | | ( ({{{month|{{CURRENTMONTH}}}}} - 1) * 30.5 round 0) | ||
Line 15: | Line 15: | ||
}} | }} | ||
- {{ #ifexpr: ({{{month|{{CURRENTMONTH}}}}} <= 2) | 0 | | - {{ #ifexpr: ({{{month|{{CURRENTMONTH}}}}} <= 2) | 0 | | ||
- | {{ #ifexpr: | + | {{ #ifexpr: <!-- if leap year --> |
- | ({{{year|{{CURRENTYEAR}}}}} / 4) = ({{{year|{{CURRENTYEAR}}}}} / 4 round 0) | + | ({{{year|{{CURRENTYEAR}}}}} / 4) = ({{{year|{{CURRENTYEAR}}}}} / 4 round 0) <!--If divisible by 4--> |
- | and ({{{year|{{CURRENTYEAR}}}}} / 100 != {{{year|{{CURRENTYEAR}}}}} / 100 round 0) | + | and ({{{year|{{CURRENTYEAR}}}}} / 100 != {{{year|{{CURRENTYEAR}}}}} / 100 round 0) <!--and not by 100--> |
| 1 | 2 | | 1 | 2 | ||
}} | }} | ||
}} | }} | ||
+ {{ #ifexpr: ({{{month|{{CURRENTMONTH}}}}} <= 2) | 0 | | + {{ #ifexpr: ({{{month|{{CURRENTMONTH}}}}} <= 2) | 0 | | ||
- | {{ #ifexpr: | + | {{ #ifexpr: <!--400 year exception--> |
({{{year|{{CURRENTYEAR}}}}} / 400) = ({{{year|{{CURRENTYEAR}}}}} / 400 round 0) | ({{{year|{{CURRENTYEAR}}}}} / 400) = ({{{year|{{CURRENTYEAR}}}}} / 400 round 0) | ||
| 1 | 0 | | 1 | 0 | ||
Line 30: | Line 30: | ||
}}{{#ifexpr: {{{year|{{CURRENTYEAR}}}}} < 1 | | }}{{#ifexpr: {{{year|{{CURRENTYEAR}}}}} < 1 | | ||
_ERROR - Can not handle dates before January 1, 1 A.D. | _ERROR - Can not handle dates before January 1, 1 A.D. | ||
- | }}<noinclude>{{ | + | }}<noinclude> |
+ | This is taken from wikipedia. Parameters are "year", "month" and "day" defaults to current. | ||
+ | [[Category:Utility Templates|{{PAGENAME}}]] | ||
+ | </noinclude> |
Revision as of 11:28, 7 April 2016
{{#expr:
+ ((2025 - 1) * 365) + (((2025 - 1) - ((2025 - 1) mod 4)) / 4) - (((2025 - 1) - ((2025 - 1) mod 100)) / 100) + (((2025 - 1) - ((2025 - 1) mod 400)) / 400)
+ {{ #ifexpr: (01 - 1) < 8 | ( (01 - 1) * 30.5 round 0) | ( (01 - 1) * 30.5 + 0.9 round 0 ) }} - {{ #ifexpr: (01 <= 2) | 0 | {{ #ifexpr: (2025 / 4) = (2025 / 4 round 0) and (2025 / 100 != 2025 / 100 round 0) | 1 | 2 }} }} + {{ #ifexpr: (01 <= 2) | 0 | {{ #ifexpr: (2025 / 400) = (2025 / 400 round 0) | 1 | 0 }} }} + 15 }}{{#ifexpr: 2025 < 1 | _ERROR - Can not handle dates before January 1, 1 A.D. }}
This is taken from wikipedia. Parameters are "year", "month" and "day" defaults to current.