Calculation of Easter Sunday in the Gregorian calendar
For a better understanding of this text, it is recommended to first go over the calculation procedure for Easter Sunday in the Julian calendar!
In principle, the way you go about calculating the date for Easter Sunday in the Gregorian calendar is the same as you would calculate it in the Julian calendar. Using the epact, we find the first ecclesiastical (paschal) full moon, and then we find the first Sunday that follows it: this will give us Easter Sunday. In the following calculations, only whole numbers will be used. The '%' character (modulo) indicates that the remainder of the division is the only part to be used. What follows is the original calculation for the Gregorian epact, as written by Christoph Clavius (see Commission for the Reform of the Calendar) ROMANI CALENDARII AND GREGORIO XIII. P.M. RESTAURANTS Explicatio; this book uses tables instead of formulas to help you obtain the necessary values. Now, first we need to find the Golden Number for the given year.
We will now calculate the Julian epact. The constant 11 needs to be added to balance the year, a correction which was discovered by observing how new moons actually appeared during the time of the Gregorian reform. It merely causes a shift of three days, as compared to the calculations in the old Julian calendar, but the fact is, these old calculations differed from the astronomical reality of the time by as many as four days. According to the old tables, the first new moon of the year for Golden Number 1 was supposed to occur on 23 January (see the chronological table). After instituting the new reform, 10 days had to be removed, so they chose to postpone its removal until the 2nd of February, that way the new moon that preceded it in the calendar would be on the 3rd of January. Aloysius Lilius then adjusted the cyclic new moon for Gregorian epact 1 back three days (0 January ≡ 31 December). The Julian epact itself indicates this three-day correction of the new moon in the Julian calendar. More on this can be found on the page Comparison of Julian and Gregorian cyclic calculations.
which can be simplified to Julian_epact = 11 × golden_number % 30
or to express it another way: Julian_epact = (11 × (year % 19) + 11) % 30
From this, we can easily calculate the following table, where each Golden Number is uniquely assigned a Julian epact:
Golden number | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
Julian epact | 11 | 22 | 3 | 14 | 25 | 6 | 17 | 28 | 9 | 20 | 1 | 12 | 23 | 4 | 15 | 26 | 7 | 18 | 29 |
Up to this point, the procedure has been similar to the Julian calendar, but now it’s necessary to correct (align) the Julian epact in order to get the final Gregorian epact. The first thing we need to do is calculate the century in which the year is given. In this calculation, when we say “century” we mean something slightly different than the current understanding of a century. For this calculation, each century will begin with a “centenary year” (years that end with two zeros; e.g. 1900, 2000, 2100) and end with “99”. This flies in the face of the common calculation of a century, which begins at one, not zero. For example, the 21st century contains the years 2001 and 2100 inclusive, but for the following calculations, we’ll treat the 21st century as the years 2000 to 2099 inclusive.
In the Gregorian calendar, centenary years are only considered leap years if they’re divisible by 400. So, in a 400-year cycle, three leap days will be dropped, as opposed to in the Julian calendar. The epact also needs to be reduced by these days, through what is known as the solar equalisation (aequatio solaris). This correction is performed for non-century years (i.e. 1700, 1800, 1900, 2100, 2200, 2300, 2500, etc):
For the next century, we’ll then take the values given in the table, and because this correction is done through subtraction, you’ll see that they are listed as negative values. The negative value grows gradually as the leap days in the centenary years are omitted. Since the year of the transition from the 20th to the 21st century (i.e. the year 2000) was a leap year in the Gregorian calendar (just as it is in the Julian calendar), the value did not need to be changed.
Century years | 16th 1583-99 | 17th 1600-99 | 18th 1700-99 | 19th 1800-99 | 20th 1900-99 | 21th 2000-99 | 22th 2100-99 | 23th 2200-99 | 24th 2300-99 | 25th 2400-99 |
Solar correction | 0 | 0 | -1 | -2 | -3 | -3 | -4 | -5 | -6 | -6 |
Not even a 19-year lunar cycle is entirely accurate, because after 19 years, lunar phases fall back 1.5 hours earlier, causing an error of one day that will occur after 300 years. The calendar commission eventually decided that in a cycle of 2,500 years, a lunar correction (aequatio lunaris) would be applied eight times (i.e. on average, once every 312.5 years). This correction would only occur on centenary years as well. According to it, the repair was to be performed every 300, and those years would be 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900. However, not in 4200, but in 4300 (which would be after 400 years). After all of that time, the 2500-year cycle would thenrepeat itself.
For the next century we get the following values given in the table:
Century years | 16th 1583-99 | 17th 1600-99 | 18th 1700-99 | 19th 1800-99 | 20th 1900-99 | 21th 2000-99 | 22th 2100-99 | 23th 2200-99 | 24th 2300-99 | 25th 2400-99 |
Lunar correction | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 2 | 2 | 3 |
Both corrections performed on separate centennial years can be displayed in a table clearly (corr.: correction). Also, don't forget about the 'irregularity' of the lunar correction, because after 3900 the repair will occur after 400 years, not the usual 300 years. Since this is repeated in cycles of 2500 years, it will occur next in 6400.
year | solar corr. | lunar corr. |
---|---|---|
1600 | ||
1700 | -1 | |
1800 | -1 | +1 |
1900 | -1 | |
2000 | ||
2100 | -1 | +1 |
2200 | -1 | |
2300 | -1 | |
2400 | +1 | |
2500 | -1 | |
2600 | -1 | |
2700 | -1 | +1 |
2800 | ||
2900 | -1 | |
3000 | -1 | +1 |
3100 | -1 |
year | solar corr. | lunar corr. |
---|---|---|
3200 | ||
3300 | -1 | +1 |
3400 | -1 | |
3500 | -1 | |
3600 | +1 | |
3700 | -1 | |
3800 | -1 | |
3900 | -1 | +1 |
4000 | ||
4100 | -1 | |
4200 | -1 | |
4300 | -1 | +1 |
4400 | ||
4500 | -1 | |
4600 | -1 | +1 |
4700 | -1 |
year | solar corr. | lunar corr. |
---|---|---|
4800 | ||
4900 | -1 | +1 |
5000 | -1 | |
5100 | -1 | |
5200 | +1 | |
5300 | -1 | |
5400 | -1 | |
5500 | -1 | +1 |
5600 | ||
5700 | -1 | |
5800 | -1 | +1 |
5900 | -1 | |
6000 | ||
6100 | -1 | +1 |
6200 | -1 | |
6300 | -1 |
year | solar corr. | lunar corr. |
---|---|---|
6400 | +1 | |
6500 | -1 | |
6600 | -1 | |
6700 | -1 | |
6800 | +1 | |
6900 | -1 | |
7000 | -1 | |
7100 | -1 | +1 |
7200 | ||
7300 | -1 | |
7400 | -1 | +1 |
7500 | -1 | |
7600 | ||
7700 | -1 | +1 |
7800 | -1 | |
7900 | -1 |
year | solar corr. | lunar corr. |
---|---|---|
8000 | +1 | |
8100 | -1 | |
8200 | -1 | |
8300 | -1 | +1 |
8400 | ||
8500 | -1 | |
8600 | -1 | +1 |
8700 | -1 | |
8800 | ||
8900 | -1 | +1 |
9000 | -1 | |
9100 | -1 | |
9200 | ||
9300 | -1 | +1 |
9400 | -1 | |
9500 | -1 |
The last correction necessary is the deduction of the ten days omitted during the Gregorian calendar reform. From this, we obtain the resulting Gregorian epact.
if the result of the line is less than 0, add 30, or if the result is greater than 29, subtract 30.
Below is a simple table of the result of all corrections of the Julian epact for the Gregorian calendar for the coming centuries. Sometimes the corrections cancel each other out and the resulting correction ends up looking the same (e.g. during the transition from the 21st to the 22nd century, both the solar and lunar corrections will change, but since they cancel each other out, the correction remains unchanged overall).
Century years | 16th 1583-99 | 17th 1600-99 | 18th 1700-99 | 19th 1800-99 | 20th 1900-99 | 21th 2000-99 | 22th 2100-99 | 23th 2200-99 | 24th 2300-99 | 25th 2400-99 |
resulting correction | -10 | -10 | -11 | -11 | -12 | -12 | -12 | -13 | -14 | -13 |
Different centuries have their own 19-year series epact. However, the essence of them remain the same as for the Alexandrian epacts. In these, the value increases after each year of the nineteen-year Golden Number circle after 11, until it reaches the end of the cycle and it sees an increase of 12 (i.e. 11 x 8 + 12). This is due to the fact that each cycle is interrupted when moving to another century, because they have their own unique corrections. For example, the year 1862 has the Golden Number 1 and belongs to the 19th century. The Gregorian epact of 1862 is 0. The following year with the Golden Number 1 is the year 1881, but because it also belongs to the 19th century, it has the same epact 0. However, in the year 1900, another year with the Golden Number 1, is considered part of the 20th century (recall earlier how we had to change our understanding of centuries to make them start with 0 for these calculations). In this year there is another correction of the Julian epact necessary and therefore the resulting Gregorian epact is 29. For a list of all possible epact series, see the page All possible Gregorian epact series, but for now, you can see a table below that displays an epact series for recent and upcoming centuries. In the 20th, 21st and 22nd centuries, the series of epacts do not change, so it could be said that in terms of the series of Gregorian epacts, we live in peaceful times.
Golden number | julian epact | 16th 1583-99 | 17th 1600-99 | 18th 1700-99 | 19th 1800-99 | 20th 1900-99 | 21th 2000-99 | 22th 2100-99 | 23th 2200-99 | 24th 2300-99 | 25th 2400-99 |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 11 | 1 | 1 | 0 | 0 | 29 | 29 | 29 | 28 | 27 | 28 |
2 | 22 | 12 | 12 | 11 | 11 | 10 | 10 | 10 | 9 | 8 | 9 |
3 | 3 | 23 | 23 | 22 | 22 | 21 | 21 | 21 | 20 | 19 | 20 |
4 | 14 | 4 | 4 | 3 | 3 | 2 | 2 | 2 | 1 | 0 | 1 |
5 | 25 | 15 | 15 | 14 | 14 | 13 | 13 | 13 | 12 | 11 | 12 |
6 | 6 | 26 | 26 | 25 | 25 | 24 | 24 | 24 | 23 | 22 | 23 |
7 | 17 | 7 | 7 | 6 | 6 | 5 | 5 | 5 | 4 | 3 | 4 |
8 | 28 | 18 | 18 | 17 | 17 | 16 | 16 | 16 | 15 | 14 | 15 |
9 | 9 | 29 | 29 | 28 | 28 | 27 | 27 | 27 | 26 | 25 | 26 |
10 | 20 | 10 | 10 | 9 | 9 | 8 | 8 | 8 | 7 | 6 | 7 |
11 | 1 | 21 | 21 | 20 | 20 | 19 | 19 | 19 | 18 | 17 | 18 |
12 | 12 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 29 | 28 | 29 |
13 | 23 | 13 | 13 | 12 | 12 | 11 | 11 | 11 | 10 | 9 | 10 |
14 | 4 | 24 | 24 | 23 | 23 | 22 | 22 | 22 | 21 | 20 | 21 |
15 | 15 | 5 | 5 | 4 | 4 | 3 | 3 | 3 | 2 | 1 | 2 |
16 | 26 | 16 | 16 | 15 | 15 | 14 | 14 | 14 | 13 | 12 | 13 |
17 | 7 | 27 | 27 | 26 | 26 | 25 | 25 | 25 | 24 | 23 | 24 |
18 | 18 | 8 | 8 | 7 | 7 | 6 | 6 | 6 | 5 | 4 | 5 |
19 | 29 | 19 | 19 | 18 | 18 | 17 | 17 | 17 | 16 | 15 | 16 |
The Gregorian epact can take values from 0 to 29, as can the Coptic epact from the calculation of Easter Sunday in the Julian calendar. In some sources, 30 is used instead of 0, but an asterisk was originally used, while other epact numbers were written in Roman numerals. However, only 19 different values are used in a given century. There’s a problem with a total of 30 values in the Gregorian epact, because as we know from the old Julian calculation, an ecclesiastical full moon can occur between 21 March and 18 April, which is only a 29 day range. In the calculation for the Julian calendar, 19 possible Alexandrian epacts were easily divisible between those 29 days, but for 30 Gregorian epacts it is not as simple. This range of 29 days had to be maintained in the new Gregorian calendar according to the wishes of the church. An earlier date was out of the question, as it would be before the church's beginning of spring. And if the last date was extended to 19 April 19, there could be a case where Easter Sunday is 26 April. Fearing that many people would not adopt the new calendar for this reason, this option was ultimately rejected. In addition, the church demanded that the latest date of Easter Sunday not appear twice in one nineteen-year cycle of the Golden Number.
Therefore, epact 25 was finally selected, which was assigned two possible calendar dates for the ecclesiastical full moon as the 17th or 18th of April. You can use the following rule to determine which date to use: if the Golden number is greater than or equal to 12, the date of 17 April 17 is selected, otherwise 18 April is selected. This will prevent a repeat of the latest Easter Sunday in a nineteen-year cycle. If necessary, on this website an epact with an earlier date of the cyclic full moon (i.e. a Golden Number greater than 11) will be written in bold (such as 25).
Each epact value can be uniquely assigned an ecclesiastical full moon date, except for epact 25, which can be assigned two calendar dates:
Gregorian epact | Ecclesiastical full moon |
---|---|
23 | March 21 |
22 | March 22 |
21 | March 23 |
20 | March 24 |
19 | March 25 |
18 | March 26 |
17 | March 27 |
16 | March 28 |
15 | March 29 |
14 | March 30 |
13 | March 31 |
12 | April 1 |
11 | April 2 |
10 | April 3 |
9 | April 4 |
8 | April 5 |
7 | April 6 |
6 | April 7 |
5 | April 8 |
4 | April 9 |
3 | April 10 |
2 | April 11 |
1 | April 12 |
0 | April 13 |
29 | April 14 |
28 | April 15 |
27 | April 16 |
26 | April 17 |
25/25 | April 17/18 |
24 | April 18 |
We see, for example, that the earliest ecclesiastical full moon (i.e Easter Sunday) can occur only at epact 23. In the table of Gregorian epact series, this epact occurs can be seen to occur in the 19th century and then once again in the 23rd century. This explains the large gap between the earliest possible Easter Sunday (22 March), which last occured in 1818 and why the next one won’t happen again until 2285. Since epact 23 does not occur between the 20th and 22nd centuries, we’re a bit unlucky, because the earliest date for Easter Sunday won’t occur in any of our lifetimes.
The date of the full moon can then be determined according to the Conversion table or by calculation:
for epact 24: full_moon_date = 49
for epact 25 and golden number < 12: full_moon_date = 49
for epact 25 and golden number >= 12: full_moon_date = 48
for epact 26 - 29: full_moon_date = 74 - epact
If the result gives a number greater than 31, the ecclesiastical full moon does not begin until April, then we get the April date after subtracting 31 from the result. All that remains is to determine how many days of the week is the day of the full moon, to determine the following Sunday. In the Gregorian calendar, you can use a formula from the Julian calendar, where we also subtract the difference in days between the two calendars (the so-called Gregorian correction).
day_of_week = (year + year / 4 - gregorian_correction + full_moon_date) % 7
The number 0 is Sunday, 1 is Monday, and so on until 6, which is Saturday.
The calendar date of Easter Sunday in the Gregorian calendar can then be easily obtained:
if we get a number greater than 31, it is the April date and it’s necessary to subtract 31; otherwise it is the March date.