The present Gregorian calendar is as decreed by Pope Gregory XIII in 1582.
My page JavaScript Calendars and Clocks can show Easter Sunday for any year in AD 1..9999.
JavaScript derived in page The Calculation of Easter Sunday ... and shown on this page will give Easter Sunday (as Day-of-March, easily converted to an ordinary date) for any year within to ±5e15 or more; function jrsEaster is faster, for years 0 to 4294967295.
My program longcalc, via programs index, can give Gregorian Easter for any year within a very much wider range.
Computed date results on this site, when not from JavaScript here, are generally from longcalc or mjd_date.
My page estr-tbl.txt similarly tabulates Gregorian Easter Sundays for 1900-2149.
"The Oxford Companion to English Literature", by Sir Paul Harvey (1869-1948), 4th Edn., OUP 1967, ISBN 0-19-886106-1, Appendix III, "The Calendar", has information on the British Calendar covering the Second Millennium AD. It does not give the Easter Rules, but it does give the dates of Julian Easter for 1066 to 1752, and of Gregorian Easter for 1583 to 2000; also Dominical Letters and Regnal Years; etc.
The Date of Easter Sunday for a given Year is defined using the ordinary Month and Day (yyyy-mm-dd). For calculation, it is easier to consider March as extending over April, and so to first determine a Day-of-March, which will be in the range 22 (March 22nd) to 56 (April 25th).
Date can also be expressed using ISO 8601 Week Numbering (yyyy-Www-d), with weeks Mon=1 to Sun=7 and Week 1 containing January 4th. See in Week Numbers for Easter Sunday below.
Date can also be expressed as Ordinal Date (yyyy-ddd), counting the days of the year from 1 to 365 or 366. March 22nd can be Day 81 or 82; April 25th can be Day 115 or 116. See in Ordinal Dates for Easter Sunday below.
The date of Easter Sunday is fully predictable (until the rules are changed), but the exact method is not generally known.
Historical discussion of the Date of Easter was traditionally termed Computus.
Easter Sunday celebrates the Resurrection, which followed the Crucifixion, which took place on a Friday at the Jewish Passover (Pesach), which began on a fixed date (15 Nisan) on the luni-solar Hebrew Calendar, and occurred at the first (nominal) Full Moon of each (northern) Spring. See also Hebrew and Gregorian Moons.
From the Second Century AD or earlier, Easter was celebrated on various similar dates, differing in different places. In AD 314, the Council of Arles decided that the same date should be used everywhere.
In AD 325, a general rule for the date of Easter, on the then-current Julian calendar, was decided by the Council of Nicæa (or Nicaea; now Iznik in Bithynia, north-western Turkey); it uses an approximation to the true Moon.
Around AD 530, Dionysius Exiguus introduced Anno Domini and clarified the tabulation of Easter Day. In AD 664, the Synod of Whitby decided that the whole English Church should follow the Roman interpretation rather than the slightly different one used by the Celts.
I don't know the history of non-English Easter dates in Britain.
In 1582, Pope Gregory XIII introduced the present system, as recommended by a calendar commission following a proposal by Lilius. Chiefly, it adjusts the average number of days in the year in order to keep the seasons, especially the Vernal Equinox, in place. The determination of the date of Easter implements the same underlying principles as before, but uses both the new annual Calendar and a better knowledge of the Moon's behaviour. The range of dates was not changed.
Although the methods are analogous, the date of Gregorian Easter cannot be determined from the date of Julian Easter. Only the Golden Number and Sunday Letter are fully common.
Different countries adopted the new Easter date rules at different times, Britain and the Colonies in 1752; some Churches have not yet done so. Sweden and Finland had complex transitions for both secular and religious dates.
Refer to E.G.Richards' book "Mapping Time" chapter 28; Claus Tondering's Calendar FAQ; an old newsgroup thread on Easter algorithms; and note proposals to change the Easter rules (see Possible Revisions to the Easter Rules below).
It is said that there was an intention that Easter Sunday should never be on or before (the first full day of ??) the Jewish Passover. Maybe so; but with the present Hebrew and Gregorian years being of different average length, that now cannot possibly be satisfied in perpetuity.
The Papal Bull of 1582 and the British Calendar Act of 1751 each decree the use, from a stated date, of the Gregorian Calendar, with its new Leap Year and Easter Day rules. The Act and the Bull each define the same civil Calendar, in perpetuity.
I know of no international standards defining the date of Easter Sunday (ISO 8601 defines the secular calendar).
The Bull and the Act do not themselves contain the full Easter Rules, each citing other documents, which give equivalent Easter Rules. If the civil calendar or the Easter Rules are ever changed, the result will not be Gregorian.
For external links, see my Date Links page.
It appears that subsequent amendments have inadvertently damaged the current legislative situation.
The original authority for the current Easter rules is, as for the current Leap Year rules, given by Pope Gregory XIII's Papal Bull Inter Gravissimas of 1582. But documents describing the Easter Rules were not published at the time.
The information is in Romani calendarij à Gregorio XIII. P. M. restituti explicatio (1603) by Christopher Clavius, included in the fifth volume of Opera Mathematica (1612).
The original British authority is, likewise, given by the Calendar (New Style) Act (1750 c.23). The Act defines and requires the use of the Gregorian secular Calendar, and in that respect remains fully in force. It also gives authority to the Annexe of Church Calendar material. For the Calendar Acts in general, see also in my Leap Years.
The annexed text and Tables include the Easter material. Some of it has been updated by subsequent legislation, without intent to change the underlying Rules.
The Act said that the annexed material was to be prefixed to the Book of Common Prayer of the Church of England in lieu of the old (Julian) material (prefixed 1662-1751), so the version in the Prayer Book is somewhat authoritative. The Julian Table was intrinsically valid for ever, but the Gregorian ones require additional interpretation for years before 1600 and past 8599.
For the Act as passed, see An act for regulating the commencement of the year; and for correcting the calendar now in use, Statutes at Large 1765, with Easter tables, at Google Books.
I believe that the Act and Annexe, as amended, can be found printed in Halsbury's Statutes of England, Volume 35, under Time.
For an authoritative Web version of the Act as amended to the present date, see the UK Statute Law Database site (database published 2006-12-20; seek year 1750). The material includes images (large) of annexed "Prayer Book" material cited in Section 3 of the first Act, presently placed at the end of Section 6 (but see Pages Annexed to the Act).
There seems to be confusion as to the proper year of each of the two related Acts.
The UK Statute Law Database lists :-
• Calendar (New Style) Act 1750
1750 c.23 24_Geo_2
• Calendar Act 1751
1751 c.30 25_Geo_2
The first Act contains all the Calendar changes; the residue of the
second, amending, Act concerns only administrative details.
The Acts are dated in Regnal Years as 24 Geo. 2 and 25 Geo. 2 - those years were (Julian) 11 Jun 1750 to 10 Jun 1751 and 11 Jun 1751 to 10 Jun 1752.
According to E.G.Richards' book "Mapping Time", the first Act was presented on 25 Feb 1751, passed its second reading on 18 March, and received the Royal Assent on 22 May. From the Regnal Year, those must all have been in the first half of 1751, New Style. Internal evidence confirms that it must have been enacted before 1752 N.S.
One can find elsewhere on the Web copies of "A.D. 1751. Anno vicesimo quarto GEORGII II. CAP. XXIII. An Act for Regulating the Commencement of the Year; and for Correcting the Calendar now in Use. [`Amended by 25 Geo. 2. c.30.']".
The Date of Easter Sunday for the European Union (as elsewhere) is undoubtedly given as above. But I am told that there is no formal EU definition, which seems a pity.
In The Calculation of Easter Sunday ..., I have developed routines to calculate and show imitations of the Prayer Book Tables. From those are derived compact, efficient, and traceable algorithms for the date of Gregorian Easter Sunday, and a similar Julian algorithm.
Algorithms for the date of Easter Sunday have been presented by various trustworthy authors. All of those which I have tested have agreed with each other and with mine, and with specific Easter dates obtained from other sources such as Harvey. I have used those algorithms and mine to support some of the "consequences" material below.
As well as the JavaScript in these pages, I have older Pascal/Delphi routines in dateprox.pas via the programs index. Where "consequences", etc., are presented below without code, that and mjd_date.pas may well have been used.
There are a number of accounts of the underlying principles and rules for the date of Easter Sunday, in books and on Web sites.
Many literary, and some Web, sources have been cited in Internet Sources, a part of A Perpetual Easter and Passover Calculator, by R.H. van Gent.
Easter is an Anniversary. It is like a birthday, which commemorates after the passage of each fullcycle of the seasons using an interval of 365 or 366 days matching a solar calendar. The day of the Crucifixion was closely associated both with the Jewish luni-solar calendar and with the day of the week, but the commemoration date needed to be calculated on the current civil (Julian, then Gregorian) calendar. The Easter Tables and Rules have been chosen to be such that the commemoration would occur on a day appropriately representative of the day of the original event.
As for birthdays, the choice of the exact Rules was governed by astronomical data; but in each case it is the Rules which are definitive, not the astronomy. Like the rules of the secular calendar, the Julian and Gregorian Easter Rules are immutable and perpetual; they are applicable for all time both forwards and backwards. Those Rules cannot be changed; they can only be superseded.
The Actual Rule for a given year has varied. It could not possibly have existed until after the Resurrection; it did exist in various forms from perhaps a few decades after that; in principle it took the Julian form in AD 325, and changed to the Gregorian form in 1582...1752... . It may change in future, and will need to change if the civil calendar is changed.
The Vernal Equinox is in March world-wide, although Vernal refers to Spring.
The true Equinox and the true Full Moon each occur at observationally-defined UTC instants. The date of the true Equinox, and that of each true Full Moon, thus depend on location.
Easter Day is the same date world-wide.
The Prayer Book states clearly that the base date is March 21st, and that the PFM is on or after that date, and Easter Sunday is after the PFM. Using "After March 20th" is equivalent, but wrong.
Easter Sunday, Julian or Gregorian, is the Sunday following the day of the Paschal Full Moon (PFM), which is the Ecclesiastical Full Moon (EFM) on or after the nominal date of the Vernal Equinox. Tables were calculated to represent what would nowadays be expressed as an algorithm.
There is no allowance for time zones.
The Vernal Equinox is taken as being March 21st, rather than the actual Equinox itself.
The Ecclesiastical Full Moon is a theoretical Full Moon approximating the actual Full Moon. The Golden Number (traditionally written as I to XIX) expresses the Metonic Cycle of 19 years (235 lunar months).
The days of the Calendar Year, omitting February 29th, are given a repeating sequence of letters A to G (thus January 1st and December 31st are both A). The Sunday Letter is the letter of the Sundays of the year. Leap Years have two letters, the second being used for Easter.
Julian Easter Sunday is defined by a simple Table, indexed by the Golden Number and by the Sunday Letter.
The Gregorian Rule adds long-term corrections, requiring more complex Tables. The corrections take effect in years divisible by 100, and it is convenient to introduce the term centade for the years '00-'99. The Sunday Letter is customarily used to move from the PFM to the following Sunday, Easter Day.
The Epact is not defined in Act or Book, but one of their Tables includes values for it. It appears to represent the phase of the Ecclesiastical Moon on March 22nd.
This indicates how the Ecclesiastical and Actual dates for the Gregorian Full Moon differ.
| Year | Actual UT | Eccles. | ~ | Year | Actual UT | Eccles. | ~ | |
|---|---|---|---|---|---|---|---|---|
| 2001 | Apr 08 03:22 | Apr 08 | = | 2002 | Mar 28 18:25 | Mar 28 | = | |
| 2003 | Apr 16 19:36 | Apr 16 | = | 2004 | Apr 05 11:03 | Apr 05 | = | |
| 2005 | Mar 25 20:58 | Mar 25 | = | 2006 | Apr 13 16:40 | Apr 13 | = | |
| 2007 | Apr 02 17:15 | Apr 02 | = | 2008 | Mar 21 18:40 | Mar 22 | < | |
| 2009 | Apr 09 14:56 | Apr 10 | < | 2010 | Mar 30 02:25 | Mar 30 | = | |
| 2011 | Apr 18 02:44 | Apr 17 | > | 2012 | Apr 06 19:19 | Apr 07 | < | |
| 2013 | Mar 27 09:27 | Mar 27 | = | 2014 | Apr 15 07:42 | Apr 14 | > | |
| 2015 | Apr 04 12:06 | Apr 03 | > | 2016 | Mar 23 12:01 | Mar 23 | = | |
| 2017 | Apr 11 06:08 | Apr 11 | = | 2018 | Mar 31 12:37 | Mar 31 | = | |
| 2019 | Apr 19 11:12 | Apr 18 | > | 2020 | Apr 08 02:35 | Apr 08 | = | |
| 2021 | Mar 28 18:48 | Mar 28 | = | 2022 | Apr 16 18:55 | Apr 16 | = |
Actual Full Moons are from NASA. Ecclesiastical Full Moons are calculated as PFM in The Calculation of Easter Sunday.
From Table III in the Prayer Book, the range of the Gregorian PFM is the 29 days March 21st to April 18th; it was made to match the Julian range.
Therefore, Easter Sundays are always in March 22nd to April 25th inclusive, on the corresponding Calendar - 35 possible ordinary dates.
Gregorian Easter will have the next latest possible date on 2038-04-25 (previous: 1943); and the next earliest possible date on 2285-03-22 (previous: 1818). Easter 2008 will be early, on 2008-03-23 (previous: 1913, next: 2160). Easter 2011 will be late, on 2011-04-24 (previous: 1859, next: 2095).
Julian Easter, respectively : 2078 (1983), 2010 (1915), 2037 (1953), 2051 (1888).
The code in Easter Date Frequencies would report any date outside the expected range.
The secular Julian and Gregorian Calendars repeat in cycles of 28 and 400 years respectively. But the corresponding dates of Easter Sunday repeat only in cycles which are large multiples of those.
In the old Dionysian (Julian) canon, as the Venerable Bede knew (A History of the Englich Church and People, V.21), the pattern of Easters repeated every 532 (28×19) years (which is 194313 days).
For Gregorian Easter, the pattern repeats every 5,700,000 years (which is 2081882250 days).
My program longcalc can calculate Gregorian Easter in two ways; years checked for repetition by me : -32500 to >+5,700,000 against 5,700,000 more; and samples enormously further apart. For confirmation, see Calculation of the Ecclesiastical Calendar; Frequency of the Date of Easter over one complete Gregorian Easter Cycle; or a Web search for '+Easter +"5,700,000"'.
Since it agrees with several independent respected methods, one of the functions which I have derived from the Church of England Prayer Book can be used as a starting point.
In the body of that function, taken line-by-line, if YR is
increased by 5,700,000 =
25×3×55×19 :-
GN is unchanged
xx rises by 57000
CY rises by ((57000×3/4) - (57000×8/25))%30
= (42750 - 18240)%30 = 24510%30 = 0
xx rises by 5700000×(1 + 1/4 - 1/100 + 1/400) =
570×12425 = 7×1011750
SN is unchanged
DM is unchanged
Therefore, the dates of the Paschal Full Moon and of Easter Sunday
are always unchanged after 5,700,000 years.
They could perhaps repeat more often; but, if so, they would repeat by some factor of 5,700,000 years divided by one or more prime factors. The prime factors are 2, 3, 5, 19. For a starting year, 1943 is good as it had the latest possible, and therefore a rare, Easter date.
So there is no quicker repeat.
Allowing for the different lengths of the Gregorian and Julian years, the combined Easter date cycle is LCM(365.2425×5700000, 365.25×532) = 1,013,876,655,750 days, which is 2,775,900,000 Gregorian years and 2,775,843,000 Julian years.
The length of a year is between 12 and 13 lunar months. If an Easter falls earlier in the year than the previous Easter did, then there will have been 12 intervening lunations, otherwise 13.
By so counting (program MJD_DATE, OddTests, Paschal, MeanMoon; and below), I find that 5,700,000 Gregorian years contain 70,499,183 lunar months (confirmed on the Web); that is a prime number, which further confirms that there is no quicker repeat.
The average Gregorian lunar month length, from that, is 29.53058690056025 days or 29d 12h 44m 2.708s. The astronomical value is 29.53059 days or 29d 12h 44m 2.8s. A real difference of 0.1s would require an Ecclesiastical Lunar Leap Day about once per 25 million months.
I find that 6580 Julian lunar months are contained in 532 Julian years, corresponding to the Metonic ratio 235:19. The Julian secular calendar has a period or 28 years; 28 & 19 are co-prime so there can be no faster repeat than 28×19 = 532 years.
The following averages between the Easters of the given years.
Consecutive Easters are always separated by 50, 51, 54, or 55 weeks. Because the lunar month is about 29.5 days, 12 months are about 354 days or 50.5 weeks and 13 months are about 383.5 days or 54.8 weeks; so that should have been expected.
Gregorian tests using a longcalc script covering over 5,700,000 consecutive years found no counter-examples.
C:\EPHEMERA>longcalc 0 5700000 (eastdiff.scr) SCR ( eastdiff.scr : longcalc script to test that the interval) wrt wln ( between Gregorian Easters is 350, 357, 378 or 385 days) wrt wln ( www.merlyn.demon.co.uk >= 2001-04-17) wrt wln wln (dup wrt wln dup dup #ge swp 0 0 0 #ds swp inc dup #ge swp 0 0 0 #ds ) (swp sub 86400 div dup (DiffDays) wrt wrt 7 div dup wrt ) cat (2 div 26 sub abs dec dup wrt ) cat (((non-zero => not 50 51 54 55 weeks) wrt hlt) no0 ) cat (wln wln) cat 2 kio for stk ( eastdiff.scr ends. ) wrt
This is now confirmed by the code for Individual Easter Date Repeats, which shows that Julian and Gregorian Easter have the same set of intervals.
Gregorian Easter occurs with approximately constant frequency on dates from March 28 to April 20, at about once per thirty years (April 19 occurs a little more frequently), with a roughly linear fall-off over a week to the extreme dates March 22 and April 25 - this is unsurprising. For a graph, see via Easter date algorithms by Henk Reints. Each date occurs a multiple of 25 times in a 5700000 year cycle (Julian Easter has a similar pattern; multiple of 4, in 532 years).
See estr-tbl.txt for frequencies of dates of Easter Sundays in 1900-2149.
The line of results can be copied and shown as a bar chart at js-misc1.htm.
The triple lists are respectively for Common Dates yyyy-mm-dd, Ordinal Dates yyyy-ddd, and Week-Numbering Dates yyyy-Www-d; see via ISO 8601. The lists of frequencies correspond.
Note that for full results, frequencies should be calculated over the full period, but intervals over somewhat longer.
As there are only 35 ordinary dates on which Easter Sunday can fall, there cannot possibly be any period of over 35 years which contains no repeated Easter date, in either Calendar.
Gregorian Easter dates repeat in an irregular manner. Many, but not most, Easters 84 years apart do match; but Easters 28 or 56 years apart do not match within 1583-9999 at least. As it happens, 1916 and 2000, 84 years apart, were both Leap and both had Easter Sunday on St George's Day (but 0303-04-23 was the Friday after Julian Easter).
A Gregorian Easter date can repeat after 5 years (e.g. 8th April, 2007-2012); the second year will be Leap. No shorter interval is possible, since no Sunday date can repeat faster. Dates in March 26th to April 23rd can repeat after 5 years; it seems that the minimum for March 22nd and April 25th to repeat is 57 years, and for the other four is 11 years.
The largest possible interval between repeats of a specific date seems to be 1887 years (first from 22nd March 171812); the third largest, 1651 years, starts on 25th April 106804. The minimum largest interval is 79 years (first from 19th April 2212). For most dates, the largest interval is 119 or 147 years. The soonest largest interval, of 141 years, starts on 27th March 2016; the next is for 19th April (calculations by mjd_date).
The possible intervals are : 5 6 11 17 35 40 46 51 57 62 63 68 73 79 84 95 119 125 130 141 147 152 163 179 209 220 231 247 277 288 293 299 304 315 372 383 451 467 524 535 592 603 671 676 687 755 896 907 975 991 1059 1127 1279 1363 1431 1499 1583 1651 1803 1887 years.
Pascal/Delphi DOS-mode programs paschal, mjd_date, and longcalc (via Directory, TXT and HTML calculate Easter dates; consider for longcalc "DOS>longcalc cof (dup wrt #ge wrt wrt wln) 2000 2020 for" ; program envicalc has a script for Gregorian Easter).
The possible intervals are : 5 6 11 35 40 46 51 57 62 63 68 73 79 84 95 119 125 130 135 141 147 152 163 179 209 220 231 247 277 288 293 299 304 315 372 383 451 467 524 535 592 603 676 687 755 896 907 975 1059 1127 1279 1363 1583 1594 1746 1898 2118 2270 2490 2574 2642 2710 2794 2862 2946 3014 3082 3712 3864 4084 4168 4236 4304 4456 4540 4608 4676 4760 4828 4912 years.
The possible intervals are probably : 2 3 5 6 8 9 11 14 16 19 27 68 84 152 220 288 304 372 524 592 896 3712 3864 4084 4168 4236 4304 4456 4540 4608 4676 4760 4828 4912 years. Note that W17 is rare.
Easter and Easter-linked holidays can match within the range 1980-1999 - of course, Easter Sunday is always on the same day of the week, so if the Easter date matches, almost everything from the beginning of March to the following February 28 must also match. Remember that Gregorian Easter can currently only fall on 35 different dates (Mar 22 to Apr 25), so there is a priori a >50% chance of any given year having an Easter date match in 1980-1999. I believe that there are the following Easter matches within 2000-2007 :- 2001=1990; 2002=1991; 2004=1982; 2006=1995.
Using ISO 8601 Week Number dates, the date of Easter Sunday will clearly be of the form yyyy-Www-7.
Extreme Easter Sundays Year Those require a 2285-03-22 = 2285-W12-7 Normal range of six ISO 2972-03-22 = 2972-W12-7 Leap week-numbers, 1943-04-25 = 1942-W16-7 Normal suggesting that no 3784-04-25 = 3784-W17-7 Leap more are needed.
To check over a wide range :-
A full-cycle Gregorian scan from 1583 to 5701582 shows lines just for 1583, 1584, 1585, 1595, and 3784. Easter Sunday can only have the six Week Numbers 12-17 (17 can occur only in a Leap Year, and is rather rare); the counts are 714400, 1330000, 1330000, 1338600, 977250, 9750.
Therefore there are only 6 possible ISO Week-Numbering dates for Easter Sunday.
The same range should apply for Julian Easter on the Julian Calendar.
The Week Number of Easter Sunday is that of Maundy Thursday, three days earlier, and the range of Maundy Thursday is March 19th to April 22nd. Those are Day 78 or 79 of the year, and Day 112 or 113, respectively. Thursday 78 is in Week 12, and Thursday 113 is in Week 17. But there remains the question of whether the latest Easter dates can occur in the appropriate types of Year.
March 22nd can be Day 81 or 82 of the year; April 25th can be Day 115 or 116. Easter Sunday can occur on all four Ordinal Dates; but on Day 081 only on ordinary years and on Day 116 only in Leap years.
Therefore there are 36 possible Ordinal Dates for Easter Sunday.
For the origins of Julian (Dionysian) Easter, see above. For a fairly reliable authority for the Rule, see Prayer Books fron 1662 to 1750 (Golden Number and Sunday Letter are assumed known by the Easter section).
My Zeller pages can calculate the date of Julian Easter on the Julian Calendar. See also in my The Calculation of Easter Sunday.
Since the range of Julian Easter Sunday was March 22nd to April 25th, and before 1752 the British year began on March 25th, it was possible for Easter Sunday to occur in the same year as the previous Christmas Day; I think this last occurred in 1706. Also, to have either 0 or 2 Easter Sundays in a year.
The Orthodox now use the Gregorian Calendar, but celebrate Easter on the day given by the Julian Calendar and Easter Rules. I have read : "The Orthodox Easter usually falls later than the Catholic Easter, depending on when Passover is. The Russian Easter falls one week after Passover."; and I have seen :-
Year 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 Catholic 23/4 15/4 31/3 20/4 11/4 27/3 16/4 8/4 23/3 12/4 4/4 Orthodox 30/4 15/4 5/5 27/4 11/4 1/5 23/4 8/4 27/4 19/4 4/4
Both rows use Gregorian calendar dates. Confirmed by The Calculation of Easter Sunday.
To the Julian date of Julian Easter, add the calendar difference given in Date and Time Scales, or use Julian/Gregorian Calendar Date Conversion.
The UK Easter Act of 1928 [18 & 19 Geo. 5, chapter 35], following a League of Nations proposal of 1926, allows Easter to be fixed by Order in Council as the Sunday after the second Saturday in April (April 9-15). There has been no such Order.
Program mjd_date can calculate both the current Easter rule and the N'th X-day of Month in Year (just add one day to the 2nd Saturday in April).
A Church Council at Aleppo (Syria) in March 1997 recommended changing to a common date for Easter Sunday; it would then be on the Sunday, at Jerusalem, following the first actual full moon after the vernal equinox. See Towards a Common Date for Easter - the World Council of Churches, Aleppo 1997.
Two consequences would be that the date would no longer be predictable in distant perpetuity, and that in some nearer years the Equinox and the Full Moon might be so close in time as to make their order difficult to foresee or determine.
The first divergence from Gregorian would be in 2019 - 24 March instead of 21 April; and in 2877, Easter Sunday would for the first time be on 21 March, a date not possible by the Julian and Gregorian Rules.
Implementation, proposed for 2001, did not occur.
The Solar Year is not exactly 365.2425 days long, and is changing in length. By about the year 4000 the error is expected to have reached one day. The Leap Year rules might eventually be modified or supplemented.
If the Civil Calendar is adjusted, the Solar Correction will be affected; also probably the Sunday Letter. Consequent changes for Easter will be implied.
The existing rule will not fully agree with the Real Moon long-term, so the Lunar Correction will also need attention; I don't know the time-scale for that to be significant.
There are various proposals for revising the Civil Calendar, generally aimed at making the yearly and/or monthly calendars less variable. In those that maintain unchanged the cycle of weeks, it could be possible to retain the Gregorian Easter calculation and still have Easter on a New Sunday.
References include :-
Two main types of match are possible : the two Easters are simultaneous, i.e. on the same physical Day; or the two Easters are on the same Date in their respective Calendars, i.e. their YYYY-MM-DD match. In a year in the range 200-299, both types of match could occur at once. In the far future, there will be matches of Day, of MM-DD date, and of both, with the Gregorian year number greater than the Julian year number.
| Lunar Months | |||
|---|---|---|---|
| True Length | Julian | Gregorian | |
| Rule | (1900) | 235 lm / 19 Jy | less 8 d / 2500 y |
| Days | 29.5305882 | 29.5308511 | 29.5305923 |
| Error | observed | +0.0002629 | +0.0000041 |
| Day out in | n/a | 308 y | 19500 y |
The Gregorian and Julian Easter rules are intended to calculate the same thing, a luni-solar anniversary. But they do not necessarily give the same actual day. They usually agree in the First Millennium, agree about half the time in the Second, and never (I think) agree in the same-numbered year after AD 2698. That sort of behaviour is inevitable, because both rules put Easter within a given region of the calendar year, but the calendar years diverge. Within AD 26-35, for 28 29 31 32 35 the Julian is a week earlier, but for 26 27 30 33 34 they agree. The difference is always an exact multiple of 7 days, since the Week is consistent. (Details in this paragraph depend on my Pascal implementations of Julian Easter, for which some historical check data now received (MAK).)
Matches of Easter Day are apparently most common (as expected) around the 3rd Century, and become steadily less common until the last, in 2698. After about 50 millennia they will recur with differing year numbers (not shown here).
Matches of Calendar Date can only occur in centades where the Gregorian and Julian dates differ by an integer multiple of seven, and in years when the Gregorian and Julian moons are at similar phases.
Only in the 3rd centade can both types of match occur for years of the same number; this will never occur in future.
My program mjd_date can generate file eastdiff.txt, similar to
Year Gregorian MJD Julian MJD Diff 2005 G: 3-27 53456 J: 4-18 53491 35 2006 G: 4-16 53841 J: 4-10 53848 7 2007 G: 4-08 54198 J: 3-26 54198 0 2008 G: 3-23 54548 J: 4-14 54583 35 2009 G: 4-12 54933 J: 4-06 54940 7 2010 G: 4-04 55290 J: 3-22 55290 0 2011 G: 4-24 55675 J: 4-11 55675 0 2012 G: 4-08 56025 J: 4-02 56032 7 2013 G: 3-31 56382 J: 4-22 56417 35 2014 G: 4-20 56767 J: 4-07 56767 0 2015 G: 4-05 57117 J: 3-30 57124 7
and
COLS &1581 : < eastdiff.txt | find " 0"
will isolate the years for which Gregorian and Julian Easter are on the same day. Further use of my program COLS can isolate and count these years; there are 271, starting with 1583, the last being 2698. The calendars differ by three days in 400 years, so after roughly 50 millennia the Easter of one Julian year will occasionally be simultaneous with that of the next-numbered Gregorian year. I have read, and confirmed by enhancing program mjd_date, that Julian 44733-04-25 and Gregorian 44734-03-25 are the first; that series of matches lasts to Gregorian 47916-04-02; then from 97755-04-06 ....
The SameDate column shows <---- for years when the Easters are on the same date. This last happened for 1298-04-06, and next happens for 5806-04-06; it was usual in the 3rd centade, will happen throughout c.68, and will be frequent in c.69.
Various algorithms are derived more or less faithfully from original and other authorities. I have seen the following sources and others, but there must be many more :-
The underlying arithmetic is generally good for any year; but implementations will fail if the operator mod gives a negative result, or if the range of Date is exceeded or there is other arithmetic overrange.
Gregorian Easter was first celebrated in 1583. Many implementations do not work properly all the way back to AD 0; but it is often easy enough to make them do so, which can be convenient for testing.
An implementation good for one cycle of 5,700,000 years can be extended by use of Mod(Year, 5700000) with due regard to the sign of the result.
There are both inevitable resemblances and real differences between the various algorithms; but valid ones necessarily give the same results. All use Year mod 19 which is in essence the Golden Number, or Prime. Most seem to calculate the date firstly as a Day-of-March in 22..56. Often, the date of the Paschal Full Moon (March 21..49) is an explicit intermediate.
The Epact represents the phase of the Moon. Some methods use it explicitly, others implicitly.
Sometimes, the difference in days between the Gregorian and Julian calendars is an explicit intermediate.
There is a tradition, in the determination of the date of Easter Sunday, of using only addition, subtraction, multiplication, and integer division & remainder. That may have been wise before the introduction of Boolean notation. But the work can nowadays be simplified by using conditional expressions and Boolean variables.
The algorithms below are expressed in JavaScript, to suit the Web. Further routines, including ones for Julian Easter, may be found in my Zeller pages; see also JavaScript Date and Time 0 : Date Object Information. Various Pascal/Delphi routines are in dateprox.pas and paschal.pas. VBScript routines are in VBScript Date and Time.
In testing range, check that Easter for Y mod 5700000 and for Y agree. For large range calculation, then use Y mod 5700000.
Proper testing should eliminate errors in results.
The underlying algorithm calculates Easter Sunday as a Day-of-March. Traditional algorithms then go on to convert that to month-day form. Where a language has a special form for representing dates (e.g. JavaScript Date Object, VBS CDate), and the Easter routine is to return that form, intermediate conversion to month-day is likely to be unnecessary. For example, both JavaScript Date.UTC(Y,M',D) and VBS DateSerial(Y,M,D) will accept a March date number above 31 appropriately.
See also "Mod & Div" in JavaScript Maths and Pascal Maths.
Easter Sunday is a local date on the Gregorian Calendar. In a language such as JavaScript which supports both UTC and local dates, the calculation may for speed be performed in UTC, in order to give a result expressed as Y M D. A Date Object or equivalent holding that result is likely to be interpreted as the previous local day if the code is used much to the West of Greenwich. One can check that the date given for Easter Sunday is not a Saturday.
This lists some of those who have, or seem to have, developed Easter algorithms more or less independently and/or directly from the prime sources (the Bull; the Act and/or the Book). It includes few known secondary adaptations.
Rektor Christian Zeller gave Julian and Gregorian Easter algorithms, in Latin and in German; the linked page set shows, translates, discusses and tests them and has links to images and translations of his four similar Date papers. His method yields fast code.
These routines for the date of Gregorian Easter Sunday are from my JavaScript Include Files. They do not use the standard JavaScript Date Object, and should be readily adaptable to any language.
These routines expect a numeric Year argument, and may err if given a string. They have not all been script-optimised.
Three of these are derived in The Calculation of Easter Sunday after the Book of Common Prayer of the Church of England. Function JRSEaster now uses Mod(,) instead of % to allow negative years. Function jrsEaster is optimised for speed.
The button shows routines from each of the four papers by Zeller.
Enter a modest year range and press Test. Unless the box is checked (slow), only years with discrepancies are shown. Discrepancy would be marked by '****' in the 'Err?' column. N.B. window.status shows progress, if enabled.
The 'EGRP' column uses the function EGREaster(Yr) which is E.G.Richards' Algorithm P.
The 'USNO' column uses the function USNOEaster(y) from USNO's version of an algorithm due to J.-M. Oudin (1940).
The 'CDWF' column uses the function CDWFEaster(year) from Clive Feather's web site.
The 'CFAQ' column uses the function CFAQEaster(year) from the Calendar FAQ.
The 'Henk' column uses the function HenkEaster(year) adapted from the text of Henk Reints' site; it is stated to be a direct implementation of Lilius/Clavius.
The 'BCPA' column uses my function BCPAllEaster(YR).
The 'JRSE' column uses my function JRSEaster(YR).
The 'jrsE' column uses my function jrsEaster(YR).
The 'ZEG3' column uses the function ZEG1883(Yr) from my Zeller pages.
The 'User' column uses the function UserEaster(year) if that is defined by the form above; the form is preloaded with code after Marcos J. Montes on Butcher.