A brief yet very nice description of the calculation of the date of Easter from … a PHP manual!

Computer programs need to calculate the date of Easter sometimes.  In the PHP programming language, there is a function, easter_date, which is used for the purpose.  The manual page is here, and is really rather good!

The date of Easter Day was defined by the Council of Nicaea in AD325 as the Sunday after the first full moon which falls on or after the Spring Equinox. The Equinox is assumed to always fall on 21st March, so the calculation reduces to determining the date of the full moon and the date of the following Sunday. The algorithm used here was introduced around the year 532 by Dionysius Exiguus. Under the Julian Calendar (for years before 1753) a simple 19-year cycle is used to track the phases of the Moon. Under the Gregorian Calendar (for years after 1753 – devised by Clavius and Lilius, and introduced by Pope Gregory XIII in October 1582, and into Britain and its then colonies in September 1752) two correction factors are added to make the cycle more accurate.

Well, we’ve all seen very much worse explanations than that!

  • The date is the first full moon after the equinox.
  • The “equinox” is deemed to be March 21st (it wobbles a bit in reality).
  • The phases of the moon are calculated based on a 19-year cycle.
  • Dionysius Exiguus produced the modern version of the calculation, for the Julian calendar.
  • The Gregorian calendar tweaked it for accuracy.

I could only wish that our succinct author had also stated what are these “correction factors” in the Gregorian system.

The big omission from that page is any indication of why we want the first Sunday after the full moon after the equinox.  The reason is that the first full moon after the equinox is passover.  This festival predated the solar calendar, so is calculated by the moon.  Jesus was executed on passover, and rose on… the Sunday after.  Easter celebrates that event.

It is so uncommon to see all these details put together, that there are many people who suppose that a weird date based on the moon must be prehistoric pagan or something.  Nobody is taught this.  It is never explained.

Of course the PHP function is purely concerned with the mathematics.  But at least it states these very correctly.

It is rather a delight to see a clear and concise statement of the main points of the calculation.


3 thoughts on “A brief yet very nice description of the calculation of the date of Easter from … a PHP manual!

  1. I have a very minor Emacs package related to calendar holidays, so this made me go back and check what comments Emacs’ included holidays.el has. For the function (holidays-easter-etc), which returns the date of Easter and associated movable feasts, the comments simply assume you already know why you need to know the age of the moon on April 5, correct “for Metonic cycle inaccuracy,” and so on. There’s no explanation whatsoever.

    The comments for (holiday-greek-orthodox-easter) do say “[The date] is calculated according to the rule of the Council of Nicaea,” though no more than that; so an interested person at least gets a pointer.

  2. The Emacs comments don’t surprise me a bit. Nobody explains this stuff. (“Metonic cycle” = the 19 year cycle of the moon, for those watching).

  3. A very clear and complete analysis was given by Beda, see Wallis F. -tr.comm- *Bede- The Reckoning of Time* (TTH.29 Liverpool UP 2012). Sections on Solstice and Equinox. Everyone has cribbed from him.

Leave a Reply