# Difference between revisions of "Template:Pascha date"

m (format parameter) |
(Example) |
||

(2 intermediate revisions by the same user not shown) | |||

Line 1: | Line 1: | ||

− | {{#time:{{{format|F j Y}}} |{{#time:F d Y| April 3 {{{year|{{CURRENTYEAR}}}}} }} + {{#expr:(((19 * ({{{year|{{CURRENTYEAR}}}}} mod 19)) + 16) mod 30)+(((2* ({{{year|{{CURRENTYEAR}}}}} mod 4))+(4*({{{year|{{CURRENTYEAR}}}}} mod 7) ) +(6 * (((19 * ({{{year|{{CURRENTYEAR}}}}} mod 19)) + 16) mod 30))) mod 7) }} day}}<noinclude> | + | {{#time:{{{format|F j, Y}}} |{{#time:F d Y| April 3 {{{year|{{CURRENTYEAR}}}}} }} + {{#expr:(((19 * ({{{year|{{CURRENTYEAR}}}}} mod 19)) + 16) mod 30)+(((2* ({{{year|{{CURRENTYEAR}}}}} mod 4))+(4*({{{year|{{CURRENTYEAR}}}}} mod 7) ) +(6 * (((19 * ({{{year|{{CURRENTYEAR}}}}} mod 19)) + 16) mod 30))) mod 7) }} day}}<noinclude> |

Line 10: | Line 10: | ||

− | Or this template displays the date of Pascha for the year passed by the '''year''' parameter | + | Or this template displays the date of Pascha for the year passed by the '''year''' parameter in the format of the '''format''' parameter |

− | Usage: '''<nowiki>{{</nowiki>Pascha date|year='''''nnnn'''''<nowiki>}}</nowiki>''' | + | Usage: '''<nowiki>{{</nowiki>Pascha date|year='''''nnnn'''''|format=''format string''<nowiki>}}</nowiki>''' |

− | where ''nnnn'' is the year | + | where ''nnnn'' is the year, |

+ | default ''format string'' is '''F j, Y''' | ||

+ | |||

+ | ''format string'' see chart | ||

+ | |||

+ | {|cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;" | ||

+ | |Format string character | ||

+ | |Description | ||

+ | |Example returned values | ||

+ | |- | ||

+ | |Day | ||

+ | |- | ||

+ | |d | ||

+ | |Day of the month, 2 digits with leading zeros | ||

+ | |01 to 31 | ||

+ | |- | ||

+ | |D | ||

+ | |A textual representation of a day, three letters | ||

+ | |Mon through Sun | ||

+ | |- | ||

+ | |j | ||

+ | |Day of the month without leading zeros | ||

+ | |1 to 31 | ||

+ | |- | ||

+ | |l (lowercase 'L') | ||

+ | |A full textual representation of the day of the week | ||

+ | |Sunday through Saturday | ||

+ | |- | ||

+ | |N | ||

+ | |ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) | ||

+ | |1 (for Monday) through 7 (for Sunday) | ||

+ | |- | ||

+ | |w | ||

+ | |Numeric representation of the day of the week | ||

+ | |0 (for Sunday) through 6 (for Saturday) | ||

+ | |- | ||

+ | |z | ||

+ | |The day of the year (starting from 0) | ||

+ | |0 through 365 | ||

+ | |- | ||

+ | |Week | ||

+ | |- | ||

+ | |W | ||

+ | |ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) | ||

+ | |Example: 42 (the 42nd week in the year) | ||

+ | |- | ||

+ | |Month | ||

+ | |- | ||

+ | |F | ||

+ | |A full textual representation of a month, such as January or March | ||

+ | |January through December | ||

+ | |- | ||

+ | |m | ||

+ | |Numeric representation of a month, with leading zeros | ||

+ | |01 through 12 | ||

+ | |- | ||

+ | |M | ||

+ | |A short textual representation of a month, three letters | ||

+ | |Jan through Dec | ||

+ | |- | ||

+ | |n | ||

+ | |Numeric representation of a month, without leading zeros | ||

+ | |1 through 12 | ||

+ | |- | ||

+ | |t | ||

+ | |Number of days in the given month | ||

+ | |28 through 31 | ||

+ | |- | ||

+ | |Year | ||

+ | |- | ||

+ | |L | ||

+ | |Whether it's a leap year | ||

+ | |1 if it is a leap year, 0 otherwise. | ||

+ | |- | ||

+ | |o | ||

+ | |ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) | ||

+ | |Examples: 1999 or 2003 | ||

+ | |- | ||

+ | |Y | ||

+ | |A full numeric representation of a year, 4 digits | ||

+ | |Examples: 1999 or 2003 | ||

+ | |- | ||

+ | |y | ||

+ | |A two digit representation of a year | ||

+ | |Examples: 99 or 03 | ||

+ | |- | ||

+ | |} | ||

+ | (punctuation can also be in the ''format string'') | ||

+ | ==Example== | ||

+ | '''<nowiki>{{Pascha date|year=2018|format=l, [[F j]], Y}}</nowiki>''' returns: | ||

+ | |||

+ | {{Pascha date|year=2018|format=l, [[F j]], Y}} | ||

==Algorithm== | ==Algorithm== | ||

The following algorithm is based on the algorithm derived by the German | The following algorithm is based on the algorithm derived by the German |

## Latest revision as of 20:29, December 1, 2011

May 1, 2016

## Contents

## Usage

This template displays the date of Pascha for the current year.

Usage: **{{Pascha date}}**

Or this template displays the date of Pascha for the year passed by the **year** parameter in the format of the **format** parameter

Usage: **{{Pascha date|year=***nnnn***|format= format string}}**

where *nnnn* is the year,

default *format string* is **F j, Y**

*format string* see chart

Format string character | Description | Example returned values |

Day | ||

d | Day of the month, 2 digits with leading zeros | 01 to 31 |

D | A textual representation of a day, three letters | Mon through Sun |

j | Day of the month without leading zeros | 1 to 31 |

l (lowercase 'L') | A full textual representation of the day of the week | Sunday through Saturday |

N | ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) | 1 (for Monday) through 7 (for Sunday) |

w | Numeric representation of the day of the week | 0 (for Sunday) through 6 (for Saturday) |

z | The day of the year (starting from 0) | 0 through 365 |

Week | ||

W | ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) | Example: 42 (the 42nd week in the year) |

Month | ||

F | A full textual representation of a month, such as January or March | January through December |

m | Numeric representation of a month, with leading zeros | 01 through 12 |

M | A short textual representation of a month, three letters | Jan through Dec |

n | Numeric representation of a month, without leading zeros | 1 through 12 |

t | Number of days in the given month | 28 through 31 |

Year | ||

L | Whether it's a leap year | 1 if it is a leap year, 0 otherwise. |

o | ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) | Examples: 1999 or 2003 |

Y | A full numeric representation of a year, 4 digits | Examples: 1999 or 2003 |

y | A two digit representation of a year | Examples: 99 or 03 |

(punctuation can also be in the *format string*)

## Example

**{{Pascha date|year=2018|format=l, [[F j]], Y}}** returns:

Sunday, April 8, 2018

## Algorithm

The following algorithm is based on the algorithm derived by the German mathematician Gauss. The principal simplification is that substitutions have been made for the case of Julian calendars and Orthodox Easters. This algorithm calculates the number of days AFTER March 21 (Julian) that Easter occurs.

RMD(x,y) = remainder when x is divided by y. R1=RMD(Year,19) R2=RMD(Year,4) R3=RMD(Year,7) RA=19*R1+16 R4=RMD(RA,30) RB=2*R2+4*R3+6*R4 R5=RMD(RB,7) RC=R4+R5

The number RC ranges from 1 to 35 which corresponds to March 22 to April 25 in the Julian Calendar (currently April 4 to May 8 on the Gregorian). The Julian Calendar is now 13 days behind the Gregorian, and will be until March 1, 2100 when it will be 14 days behind the Gregorian Calendar.