Easter

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. 

Easter Calculator

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)

Golden Number

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. 

Epact

The Epact measures the age of the moon, by the number of days that passed since an official new moon on a given date. 

Julian calendar and the Epact

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. 

Gregorian calendar and the Epact

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:

  1. Use the Julian formula:
        Epact = (11 * (Golden Number - 1)) % 30
  2. Adjust the Epact, taking into account that 3 out of 4 centuries have one leap year less than a Julian century:
        Epact = Epact - (3*century / 4)
    (In this calculation, century=20 is used for the years 1900-1999, and similarly for other centuries, even though this really isn't the exact century.  )
  3. Adjust the epact, taking into account the fact that 19 years is not an exact integral number of synodic months:
        Epact = Epact + (8*century + 5) / 25
    (This adds one to the Epact every 2500 years.  )
  4. Add 8 to the Epact to make it the age of the moon on January 1:
        Epact = Epact + 8
  5. Add or subtract 30 until the Epact lies between 1 to 30
    (In the Gregorian system, the Epact can have any value from 1 to 30.  )
For example:

What was the Epact for 1992? 

Golden Number = 1992%19 + 1 = 17

  1. Epact = (11 * (17 - 1)) % 30 = 26
  2. Epact = 26 - (3*20)/4 = 11
  3. Epact = 11 + (8*20 + 5) / 25 = 17
  4. Epact = 17 + 8 = 25
  5. Epact = 25

The Epact for 1992 was 25. 

Calculating Easter

  1. Calculate the Epact using the Gregorian method. 
  2. For the Julian calendar, add 8 to the Epact.  This has already been done in the Gregorian calendar.  Subtract 30 until the Epact lies between 1 and 30. 
  3. Look up the Epact (after modified in Step 2) in the table below to find the date for the Paschal moon:
    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


  4. Easter Sunday is the first Sunday following the above full moon date.  If the full moon falls on a Sunday, the full moon falls on the next Sunday. 

For an Epact of 25, there are two possible dates.  There are two equivalent methods to determine the right date:

The Easy Way to Calculating Easter

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:

For the Gregorian calendar:

For both calendars: L (number of days from March 21 to Sunday on or before Paschal full moon) = I - J

Predicting the Next Easter Sunday

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. 

Cycle of Dates

Julian Calendar

In the Julian calendar, the cycle of dates is repeated every 532 years because 532 is the product of the following numbers:

Gregorian Calendar

In the Gregorian Calendar, the cycle is repeated every 5,700,000 years, because 5,700,000 is the product of the following numbers: