This is a piece of the Wikipedia article on the subject of Easter found here.
This algorithm for calculating the date of Easter Sunday is given by Jean Meeus in his book Astronomical Algorithms (1991), which in turn cites Spencer Jones in his book General Astronomy (1922) and also the Journal of the British Astronomical Association (1977). This algorithm also appears in The Old Farmer's Almanac (1977), p. 69. The JBAA cites Butcher's Ecclesiastical Calendar (1876).
The method is valid for all Gregorian years and has no exceptions and requires no tables.
All quotients are truncated to integers, thus 7 / 3 = 2 (not 2 1/3), and 7 mod 3 = 1.
Worked example Year(Y) = 1961 |
Worked example Year(Y) = 2008 |
|
---|---|---|
a = Y mod 19 | 1961 mod 19 = 4 | 2008 mod 19 = 13 |
b = Y / 100 | 1961 / 100 = 19 | 2008 / 100 = 20 |
c = Y mod 100 | 1961 mod 100 = 61 | 2008 mod 100 = 8 |
d = b / 4 | 19 / 4 = 4 | 20 / 4 = 5 |
e = b mod 4 | 19 mod 4 = 3 | 20 mod 4 = 0 |
f = (b + 8) / 25 | (19 + 8) / 25 = 1 | (20 + 8) / 25 = 1 |
g = (b - f + 1) / 3 | (19 - 1 + 1) / 3 = 6 | (20 - 1 + 1) / 3 = 6 |
h = (19 * a + b - d - g + 15) mod 30 | (19 * 4 + 19 - 4 - 6 + 15) mod 30 = 10 | (19 * 13 + 20 - 5 - 6 + 15) mod 30 = 1 |
i = c / 4 | 61 / 4 = 15 | 8 / 4 = 2 |
k = c mod 4 | 61 mod 4 = 1 | 8 mod 4 = 0 |
L = (32 + 2 * e + 2 * i - h - k) mod 7 | (32 + 2 * 3 + 2 * 15 - 10 - 1) mod 7 = 1 | (32 + 2 * 0 + 2 * 2 - 1 - 0) mod 7 = 0 |
m = (a + 11 * h + 22 * L) / 451 | (4 + 11 * 10 + 22 * 1) / 451 = 0 | (13 + 11 * 1 + 22 * 0) / 451 = 0 |
month = (h + L - 7 * m + 114) / 31 | (10 + 1 - 7 * 0 + 114) / 31 = 4 (April) | (1 + 0 - 7 * 0 + 114) / 31 = 3 (March) |
day = ((h + L - 7 * m + 114) mod 31) + 1 | (10 + 1 - 7 * 0 + 114) mod 31 + 1 = 2 | (1 + 0 - 7 * 0 + 114) mod 31 + 1 = 23 |
2 April 1961 | 23 March 2008 |