logo To Foot
© J R Stockton, ≥ 2012-05-07

Consequences of the Easter Rules.

Links within this site :-
Here, unless otherwise indicated, Easter is Gregorian.

Imported and Shared Code

Choose Easter Functions for This Page

Possible Dates for Easter Sunday

Common Calendar Dates for Easter Sunday

From Table III in the Prayer Book, the range of the Gregorian PFM is the 29 days March 21st to April 18th. That matches the Julian range, by design.

Therefore, Easter Sundays, being one to seven days later, are always in March 22nd to April 25th inclusive, on the corresponding Calendar - 35 possible ordinary dates.

The code in Easter Date Frequencies would report any date outside the expected range.

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 was early, on 2008-03-23 (previous: 1913, next: 2160). Easter 2011 was late, on 2011-04-24 (previous: 1859, next: 2095).

Julian Easter, respectively : 2078 (1983), 2010 (1915), 2037 (1953), 2051 (1888).

ISO Week Numbers for Gregorian Easter Sunday

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.

Alternatively

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.

Ordinal Dates for Gregorian Easter Sunday

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.

Show the first case found of each early or late Easter Sunday
-


Starting from 2000, no new results appear after 4292.

Therefore there are 36 possible Ordinal Dates for Easter Sunday (as should be obvious).

Lunar Dates for Easter Sunday

I have read that, in the Lunar Calendar, Easter is always the third Sunday in the Paschal Lunar Month.

The Calendar Act does not define that, because it refers only to the Full Moon and not to the start of the Lunar Month.

Clavius, however, considers the beginning of the Lunar Month.

Because the date of Easter is determined by an approximate Moon, and the dates of the true Lunar Month depend somewhat on the observer's location, Easter is sometimes not the third Sunday of the local Lunar Month.

The Length of the Lunar Month

Although the details of the Lunar Month are not necessarily defined by Easter Rules, it is clear that there is a Full Moon one to seven days before each Easter Sunday.

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.

-


Repetitions

Easter Date Repetition Cycles

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"'.

Verification of the Gregorian Repetition Period

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 of the entire pattern.

Mutual Repetition Periods

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.

Disregarding year length, as the Julian cycle is 19×28 years and the Gregorian cycle is 19×30×25×400 years, the combined cycle should be 7 Gregorian cycles, 39,900,000 years.

Intervals Between Consecutive Easters

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.

The average interval is of course 365.2425 days = 52.1775 weeks.

Easter Date Frequencies

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. 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 common dates of Gregorian Easter Sundays in 1900-2199.

The following calculates histograms for Julian and Gregorian Easter Sunday, expressed as common date, ordinal date, and Week Number, for a chosen range of years.

      YMD   New, maybe OK : YWD   YD
-

Note that in this 21st century Easter Sunday is most often in Week 15; I have proposed yyyy-W15-7 as a good date for a Fixed Easter Sunday.

Shortest Spans Containing All Easter Dates

A window, initial width zero, slides up the years. At each step, if the window contains too few dates, its front is advanced, otherwise its rear is advanced. Using the date added or removed at each step, counts are maintained for the number of each date within the window, and the number of different dates in the window.

Gregorian could need a minute or so.     First year :   Dates :
      YMD   Maybe : YWD   YD
  Shows progress (some browsers)  

This shows the best so far, on browsers which update while thinking.

For Julian Easter on the Julian Calendar, I get that the 72-year span AD 1980-2051 includes all 35 dates -MM-DD, and no shorter span does so. Many Russian Orthodox can now hope to complete that span.

For Gregorian Easter on the Gregorian Calendar, I get that AD 1799-1886 = 88 years is the best past span, and AD 6920-6991 = 72 years is the first best span. Had the Bull been earlier, AD 1568-1639 would have been such a span.

The code now also handles Ordinal and ISO Week-Numbering dates. For Ordinal Dates, 36 take 164 Julian and 126 Gregorian years, neither including any part of this 21st century. All six Gregorian Week-Numbering dates need at least seven years, the first such run of dates being 3781-W12-7, 3782-W15-7, 3783-W14-7, 3784-W17-7, 3785-W14-7, 3786-W13-7, 3787-W16-7. Six Julian ones also need seven years.

The code could possibly be adjusted for Julian Easter on the Gregorian Calendar (where, long-term, there are 366 possible common and ordinal dates, and 53 possible ISO 8601 Week-Numbering dates).

Longest Spans Not Containing All Easter Dates

See Individual Easter Date Repeats below : For -MM-DD dates - Julian, 247 years; Gregorian; 1887 years.

Years Needed for a Given Easter Date Count

The second column shows the successive dates at which, including the given year, the number of different Easter Sunday dates seen becomes the Count. The third column similarly shows preceding dates.

The second column will show the successive dates at which, including the given year, the number of different Easter Sunday dates seen becomes the Count. The third column similarly will show preceding dates.

Individual Easter Date Repeats

-
  Years :   Both   Cmmn   Leap   Check!    

The triple entries are respectively for Common Dates yyyy-mm-dd, Ordinal Dates yyyy-ddd, and Week-Numbering Dates yyyy-Www-d; see via ISO 8601.

Note that for full results, frequencies should be calculated over the full period, but intervals over somewhat longer. Covering the full Gregorian range is slow.

See also Easter Intervals by George W Walker.

Needs checking for Leap and Common. to see when calendars match exactly !!!

Common Dates, yyyy-mm-dd

N.B. : Easter dates repeat in an irregular manner. 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

Many, but not most, Gregorian 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).

An 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 Easter 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).

Julian

???

The possible intervals are : 5 6 11 51 62 73 79 84 95 163 247 years.

Ordinal Dates, yyyy-ddd

N.B. : As Common Dates, but 36.

Gregorian

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.

Julian

Week-Numbering Dates, yyyy-Www-d

N.B. : As Common Dates, but 6.

Gregorian

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.

Julian

Y2k-fixing Matches

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.

Repetition of Date Sequences

I have read in Wikipedia Talk:Computus : "The Easters of 1948 to 2047 are repeated from 2100 to 2199, so 100 years on a row. Tom Peters, 23 March 2009"; it is indeed so.

There are, perhaps surprisingly, many long repeated spans.

MATCHING SPANS OF CONSECUTIVE EASTER SUNDAY DATES
Time taken goes as the Year Range squared (bar Now), dropping as "Min Span Shown" rises.
Be prepared to terminate the process if Range is large or "Min Span Shown" is small.
Some browsers show the progress of the search; others do not.
NOTE : Spans including a range-end year shoud now be correctly verified.
Simple scan : All sequences of at least "Min Span Shown" within "First Year" to "Last Year".
Faster scan : Same but faster.
Span rises : Fast, ignore "Min Span Shown", show only Spans bigger than before.
Current years : Fast, to show matches with years "near" now

Legends on the same row as a button apply for that button to the input boxes under them
Simple scanFirst YearLast YearMin Span Shown
Faster scan"""
Span rises""-----
Current years1st pair 1583 -2nd pair 1583 -Min Span Shown

Input1

Input2

Input3
Julian
Gregorian
Status :  
: Max
In order of discovery

In reverse order of Span

Spans :
Shifts  :
Check each entry in first list for being a valid date sequence

Gregorian result lines can (currently) be tested visually by pasting into F.X0 at User Testing with code like :-

var IN = F.X0.value.split(/\D+/)
var Y1 = +IN[2], Y2 = +IN[3], Shift = +IN[6], A = "", D1, D2
F.Code.rows = 9 ; F.Result.rows = Y2 - Y1 + 6
for (Y = Y1-2 ; Y <= Y2+2 ; Y++) {
  D1 = DATE2.giveXEasterSunday(   Y   )
  D2 = DATE2.giveXEasterSunday(Y+Shift)
  A += D1.toString(" Y M D ")
    +  D2.toString(" Y M D ")
    + "  " + (D1.toString("MD") == D2.toString("MD") ) + "\n" }
Selected Gregorian Easter results for spans of at least 100 years within years 0 to 700,000
   Span      these years   =   those years    Shift
   2123  136490  - 138612  562090  - 564212  425600
   2120   48986  -  51105  474586  - 476705  425600
   2117   11484  -  13600  437084  - 439200  425600
   2113    8991  -  11103  434591  - 436703  425600
   2110    6491  -   8600  432091  - 434200  425600
   2103    1498  -   3600  427098  - 429200  425600
   1101       0  -   1100  425600  - 426700  425600
    713  132400  - 133112  414000  - 414712  281600
    702  114001  - 114702  258001  - 258702  144000
    588   44423  -  45010  188423  - 189010  144000
    466    9634  -  10099  153634  - 154099  144000
    398    1901  -   2298  145901  - 146298  144000
    323    7181  -   7503   61181  -  61503   54000
    246    4617  -   4862   58617  -  58862   54000
    226    1501  -   1726   55501  -  55726   54000
    172	   2728  -   2899   21100  -  21271   18372
    172	   1928  -   2099   20300  -  20471   18372
    165	   1941  -   2105    8341  -   8505    6400
    159	   8341  -   8499   20313  -  20471   11972
    155	   4728  -   4882   23100  -  23254   18372
    144	    356  -    499    1100  -   1243     744
    139	   2728  -   2866   14700  -  14838   11972
    131	   9769  -   9899   16169  -  16299    6400
    123	   9177  -   9299    9921  -  10043     744
    119	   7181  -   7299   19153  -  19271   11972
    117	   8788  -   8904   15188  -  15304    6400
    116	   4700  -   4815    9984  -  10099    5284
    108	   6700  -   6807   18384  -  18491   11684
    107	   9593  -   9699   21565  -  21671   11972
    104	   2195  -   2298    8595  -   8698    6400
    103	   2713  -   2815    7997  -   8099    5284
    102	   1914  -   2015   13598  -  13699   11684
    101	   1528  -   1628   13500  -  13600   11972
    101	   1515  -   1615    6799  -   6899    5284
    100	   2100  -   2199    8348  -   8447    6248
    100	   1976  -   2075   20500  -  20599   18524
    100	   1952  -   2051    8200  -   8299    6248
    100	   1948  -   2047    2100  -   2199     152   *
    100	    200  -    299   11580  -  11679   11380
    100	      0  -     99   18372  -  18471   18372
Selected Gregorian Easter results for spans of at least 22 years around about now matching in years 0 to 250,000
   Span      these years   =   those years    Shift

    398    1901  -   2298  145901  - 146298  144000
    358    1941  -   2298   91941  -  92298   90000
    102    1914  -   2015   13598  -  13699   11684
    172    1928  -   2099   20300  -  20471   18372
    165    1941  -   2105    8341  -   8505    6400
    100    1948  -   2047    2100  -   2199     152   *
    100    1952  -   2051    8200  -   8299    6248
    100    1976  -   2075   20500  -  20599   18524
     30    1995  -   2024    2215  -   2244     220
     74    1995  -   2068    2739  -   2812     744
     61    2008  -   2068    2600  -   2660     592
     92    2008  -   2099    9000  -   9091    6992
     88    2012  -   2099   15100  -  15187   13088
     74    2019  -   2092    3135  -   3208    1116
     25    2020  -   2044    2392  -   2416     372

The Gregorian Easter pattern repeats every L = 5,700,000 years, the Julian every L = 532 years. Those will not be detected above, because no terminating non-match can be found. For every shift of S, there will necessarily be shifts of N×L ± S.

The largest Julian span is 16 years; 446-461 = 530-545. For spans of four or more years, there is really only one Julian shift, 84 years.

Gregorian/Julian Matches

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 LengthJulianGregorian
Rule (1900)235 lm / 19 Jyless 8 d / 2500 y
Days 29.530588229.530851129.5305923
Error observed+0.0002629+0.0000041
Day out in n/a308 y19500 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 Day or Date

-
Day Date


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.

Pascal/Delphi Program mjd_date

My program mjd_date can generate file eastdiff.txt, whose format is similar to

 Year  Gregorian  MJD   Julian     MJD   Diff sameDate

 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 by their respective calendars. 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.

See also The Date of Easter Sunday
Home Page
Mail: no HTML
© Dr J R Stockton, near London, UK.
All Rights Reserved.
These pages are tested mainly with Firefox and W3's Tidy.
This site, , is maintained by me.
Head.