Easter date algorithms (c) Henk Reints

Use this algorithm | Gebruik deze algoritme

Algorithm based on the official tables.

Sources:
http://www.assa.org.au/edm.html (R.Mallen)
http://www.chariot.net.au/~gmarts/eastalg.htm (GM.Arts)
(function GetEasterDate2).
Both sites display the following comment:

This algorithm is an arithmetic interpretation of the 3 step Easter Dating Method developed by Ron Mallen 1985, as a vast improvement on the method described in the Common Prayer Book.

Published Australian Almanac 1988. Refer to this publication, or the Canberra Library for a clear understanding of the method used.

Because this algorithm is a direct translation of the official tables, it can be easily proved to be 100% correct.

It's free! Please do not modify code or comments!

Well, for the uniformity of this site I did make some modifications, but the mathematics are (of course) the same and I don't claim any copyright. The tA through tE values (below) correspond to the official tables. tA is the Paschal Full Moon date and tB through tE are to find the next Sunday.

Julian method (years: 326..4099) Gregorian method (years: 1583..4099)
  GG = year MOD 19  
  CC = year DIV 100  
  YY = year MOD 100  
    XX = 225 - 11 x GG
 XX = 202 + (CC-15) DIV 2 - 11 x GG  
 
 if CC > 26 then XX = XX - 1  
 
 if CC > 38 then XX = XX - 1  
 
 if CC in (21,24,25,33,36,37)
 then XX = XX - 1
 
  XX = XX MOD 30  
 
 if (XX = 29) or (XX = 28 and GG > 10)
 then XX = XX - 1
 
  tA = XX + 21  
  tB = (tA - 19) MOD 7  
    tC = (40 - CC) MOD 7
 tC = (40 - CC) MOD 4  
 
 if tC = 3 then tC = tC + 1  
 
 if tC > 1 then tC = tC + 1  
  tD = (YY + YY DIV 4) MOD 7  
  tE = (20 - tB - tC - tD) MOD 7 + 1  
  result = tA + tE  
   

Use this algorithm | Gebruik deze algoritme

 

Both R.W. Mallen and GM Arts give the following definition of Easter:

Easter Sunday is the Sunday following the Paschal Full Moon (PFM) date for the year. In June 325AD, astronomers approximated astronomical full moon dates for the Christian church, calling them Ecclesiastical Full Moon (EFM) dates. From 326AD, the PFM date has always been the EFM date after March 20 (which was the equinox date in 325AD).

HR:
The computational approach was first described by Dionysius Exiguus in A.D. 525 (but the method seems to be older, he described the "Egyptian method") and he used XII Kalendas Aprilis which is 21 March as the one and only beginning of spring (but isn't "after March 20" the very same as "on or after March 21" ?).

According to reasonably accurate astronomical computations, in AD 325 the vernal equinox took place on Saturday, 20th of March, 10:18 GMT, which is 11:00 AM true local solar time in Rome on that date.

Easter date algorithms (c) Henk Reints