In the Christian religion, Easter (and the days following) is the celebration of the death and resurrection of Jesus in approximately 30 AD. It is celebrated on the first Sunday of the first full moon of the vernal equinox. However, the true calculation of Easter is complicated because it is linked to an inaccurate version of the Hebrew calendar.
Jesus was crucified immediately before the Jewish holiday of Passover, the celebration of the Exodus from Egypt. Passover is on the 14th or 15th day of the Jewish month of Nisan, which starts the beginning of spring. Because the Jewish calendar always starts on the new moon, then Passover must always start on a full moon.
Officially, the vernal equinox is on March 21, but this date isn't always completely accurate. The date of the real full moon could differ by a day or two.
The full moon that precedes Easter is called the Paschal full moon. There are two factors that determine the Paschal full moon: the Golden Number, and the Epact. Also, during the Julian calendar, Easter was calculated through tables.
I created a computer program using MS Visual Basic to perform this algorithm to calculate the Easter date for a given year. Download at your own risk; I take no responsibility for possible damage to your computer or your software.
MS Visual Basic Program: easter.exe (28 kb)
Source Code: easter.txt (3.7 kb)
The relationship between the moon's phases and the days of the year repeat themselves every 19 years. Thus is it appropriate to associate a number between 1 to 19 each year, and that number is called the Golden Number. The golden number is:
Golden Number = (year % 19) + 1
The phases of the moon fall on (approximately) the same date in two years with the same Golden Number.
The Epact measures the age of the moon, by the number of days that passed since an official new moon on a given date.
The Epact is linked to the Golden number in both the Julian and Gregorian calendar. In the Julian calendar, the 19 months were believed to be exactly an integral number of synodic months, and the following relationship between the two were;
Epact = (11 * (Golden Number - 1)) % 30
When the formula produced 0, the epact was given the symbol * and its value was said to be 30. The reason for this is unknown, it may be as trivial as the people of the past not liking the number 0.
Since there are only 19 possibly Golden numbers, then there are only 19 possible Epacts: 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 17, 18, 20, 22, 23, 25, 26, 28, and 30.
Since the Julian calendars methods for calculating the moon were inaccurate, the Gregorian calendar made modifications to the simple Julian relationship between the Golden Number and the Epact.
To calculate the Epact in the Gregorian calendar, use the following formula and all divisions are integers, with the remainder discarded:
What was the Epact for 1992?
Golden Number = 1992%19 + 1 = 17
The Epact for 1992 was 25.
Epact | Full Moon |
1 | April 12 |
2 | April 11 |
3 | April 10 |
4 | April 9 |
5 | April 8 |
6 | April 7 |
7 | April 6 |
8 | April 5 |
9 | April 4 |
10 | April 3 |
11 | April 2 |
12 | April 1 |
13 | March 31 |
14 | March 30 |
15 | March 29 |
16 | March 28 |
17 | March 27 |
18 | March 26 |
19 | March 25 |
20 | March 24 |
21 | March 23 |
22 | March 22 |
23 | March 21 |
24 | April 18 |
25 | April 17 or 18 |
26 | April 17 |
27 | April 16 |
28 | April 15 |
29 | April 14 |
30 | April 13 |
For an Epact of 25, there are two possible dates. There are two equivalent methods to determine the right date:
This method is based in part on the algorithm of Oudin (1940) as quoted in "Explanatory Supplement to the Astronomical Almanac" in an attempt to simplify the calculations of Easter. All divisions are integer, and the remainders are discarded.
G (Golden Number) = year % 19
For the Julian calendar:
- I = (19*G + 15) % 30
- J = (year + year/4 +I) % 7
For the Gregorian calendar:
- C = year/100
- H (Epact 23) = (C - C/4 - (8*C+13)/25 + 19*G + 15) % 30
- I (number of days from March 21 to Paschal full moon) = H - (H/28)*(1 - (H/28)*(29/(H + 1))*((21 - G)/11)
- J (weekday for Paschal full moon) = (year + year/4 + I + 2 - C + C/4) % 7
For both calendars: L (number of days from March 21 to Sunday on or before Paschal full moon) = I - J
- Easter Month = 3 + (L + 40)/44
- Easter Day = L + 28 -31*(EasterMonth/4)
If you know when the Easter of the current year, you can track when the next Easter will probably occur. If Easters date = X, and there is no leap year, then the next Easter will be either: X - 15, X - 8, X + 13 (rare), or X + 20. If there is a leap year, you need to subtract a day, so you get X - 16, X - 9, X + 12 (extremely rare), or X + 20. Since Easter always falls between March 22 and April 25, the date can be easily narrowed down.
In the Julian calendar, the cycle of dates is repeated every 532 years because 532 is the product of the following numbers:
- 19 = The Metonic Cycle, or the cycle of the Golden Number
- 28 = The Solar Cycle
In the Gregorian Calendar, the cycle is repeated every 5,700,000 years, because 5,700,000 is the product of the following numbers:
- 19 = The Metonic Cycle, or the cycle of the Golden Number
- 400 = The Gregorian equivalent of the Solar Cycle
- 25 = The Cycle used in Step 3 of the Epact calculations
- 30 = The Number of different Epact values