Template:Gregorian serial date
From Iwe
(Difference between revisions)
Line 1: | Line 1: | ||
- | {{ | + | {{ |
- | <!--Days from all years past:--> | + | <!-- Days from all years past: --> |
+ (({{{year|{{CURRENTYEAR}}}}} - 1) * 365) | + (({{{year|{{CURRENTYEAR}}}}} - 1) * 365) | ||
- | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 4)) / 4) <!--add a day for every leap--> | + | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 4)) / 4) <!-- add a day for every leap --> |
- | - ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 100)) / 100) <!--subtract 100 year exception--> | + | - ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 100)) / 100) <!-- subtract 100 year exception --> |
- | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 400)) / 400) <!--readd 400 year exception--> | + | + ((({{{year|{{CURRENTYEAR}}}}} - 1) - (({{{year|{{CURRENTYEAR}}}}} - 1) mod 400)) / 400) <!-- readd 400 year exception --> |
- | <!--Days so far this year:--> | + | <!-- Days so far this year: --> |
- | + {{ #ifexpr: <!--add days for past months this year | + | + {{ #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: <!-- if leap year | + | {{ #ifexpr: <!-- if leap year --> |
- | ({{{year|{{CURRENTYEAR}}}}} / 4) = ({{{year|{{CURRENTYEAR}}}}} / 4 round 0) <!--If divisible by 4--> | + | ({{{year|{{CURRENTYEAR}}}}} / 4) = ({{{year|{{CURRENTYEAR}}}}} / 4 round 0) <!-- If divisible by 4 --> |
- | and ({{{year|{{CURRENTYEAR}}}}} / 100 != {{{year|{{CURRENTYEAR}}}}} / 100 round 0) <!--and not by 100--> | + | 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: <!--400 year exception--> | + | {{ #ifexpr: <!-- 400 year exception --> |
({{{year|{{CURRENTYEAR}}}}} / 400) = ({{{year|{{CURRENTYEAR}}}}} / 400 round 0) | ({{{year|{{CURRENTYEAR}}}}} / 400) = ({{{year|{{CURRENTYEAR}}}}} / 400 round 0) | ||
| 1 | 0 | | 1 | 0 |
Revision as of 11:38, 7 April 2016
{{
+ ((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 }} }} + 28 }}{{#ifexpr: 2025 < 1 | _ERROR - Can not handle dates before January 1, 1 A.D. }}