Difference between revisions of "Template:Gregorian serial date"
Jump to navigation
Jump to search
imported>Patrick (use void for comments, to avoid that ExpandTemplates is affected) |
imported>Patrick (self-rv, restore regular comments, ExpandTemplates has "Remove comments" option) |
||
| 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 | ||
Revision as of 09:19, 3 August 2010
739714
| This template uses Lua: |
Usage
This template gives the serial day according to the proleptic Gregorian calendar, hence with the leap year exceptions of the 100 and 400 year rule, and with backward extrapolation, including year 0 and negative years, with Monday, 1 Jan 1 being day 1. This template handles . By default this template gives the serial for today. To find the serial for another date fill in the date into this code: {{Gregorian serial date|month = |day = |year = }}
Today's date is 739714.
Examples
- {{gsd|year=-401|month=1|day=1}} gives -146826_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=-401|month=12|day=31}} gives -146462_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=-400|month=1|day=1}} gives -146461_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=-400|month=12|day=31}} gives -146096_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=-1|month=1|day=1}} gives -729_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=-1|month=12|day=31}} gives -365_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=0|month=1|day=1}} gives -364_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=0|month=12|day=31}} gives 1_ERROR - Can not handle dates before January 1, 1 A.D.
- {{gsd|year=1|month=1|day=1}} gives 1
- {{gsd|year=1|month=12|day=31}} gives 1
- {{gsd|year=2000|month=12|day=31}} gives 730485 (5 times the number of days of a cycle, 146,097)
- {{gsd|year=1985|month=1|day=1}} gives 724642
- {{gsd|year=1985|month=4|day=12}} gives 724743
- {{gsd|year=1981|month=8|day=12}} gives 723404
- {{gsd|year=1953|month=10|day=2}} gives 713228
See also
- Template:JULIANDAY (backlinks edit)
- m:Template:gsd (backlinks edit)
- m:Template:YMD2MJD (backlinks edit)
| The above documentation is transcluded from Template:Gregorian serial date/doc. (edit | history) Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |