Hit Counter

User login

(If you're a human, don't change the following field)
Your first name.

Weather

Who's online

There are currently 0 users and 2 guests online.

Easter Date Calculator

Please note the following disclaimer if you use information obtained or gerated by this website....

IF YOU USE THESE DATES TO PLAN TRAVEL, MEETINGS, OR FOR ANY PURPOSE REQUIRING THE EXPENDITURE OF MONEY, TIME, OR OTHER RESOURCES, PLEASE CONSULT OTHER SOURCES TO VERIFY EASTER DATES.

Neither we, (RD & PM Giles, GM Arts nor anyone who owns the hardware or manages the host machines of this home page, nor anyone who has contributed any information that has been used in this document, may be held financially responsible, or responsible in any way if these dates are wrong or mis-interpreted. The user assumes full responsibilty for the consequences of using this information.

Further information about Easter dates
The GM Arts website provides far more information around the calculation of easter dates than we could ever hope to. Contact them at:
http://www.gmarts.org/index.php?go=410

Thanks guys for letting us use your code!

Now for the clever bit! A calculator that will provide both Western and Orthodox Easter Sunday dates for any year from 326AD to 4099AD

Easter Calculator

4099) adj = 0; if (eyear + adj < 326) adj = 0; eyear += adj; // show year being calculated Y4.innerText = IntDiv(eyear, 1000); Y3.innerText = IntDiv(eyear % 1000, 100); Y2.innerText = IntDiv(eyear % 100, 10); Y1.innerText = eyear % 10; // reset vars jDay = 0; jMonth = 0; oDay = 0; oMonth = 0; wDay = 0; wMonth = 0; //get relevant Easter dates if ((eyear <= 325) || (eyear > 4099)) { Easter1.innerText = ""; Easter2.innerText = ""; Easter3.innerText = "select a year from 326 to 4099"; } else { EasterJulian(); // used for all calculations if ((eyear > 325) && (eyear <= 1582)) { Easter1.innerText =" Easter Sunday date for " + eyear + ": " + GetMonth(jMonth) + " " + GetOrdinal(jDay) + " in the Julian calendar "; Easter2.innerText = ""; Easter3.innerText = ""; } else { // year is 1583 to 4099 EasterOrthodox (eyear, jDay, jMonth); EasterWestern (); Easter1.innerText ="Western Easter Sunday date for " + eyear + ": " + GetMonth(wMonth) + " " + GetOrdinal(wDay); if (eyear <= 1922) { // clarify that this is a Gregorian date // last known use of the Julian calendar was in 1922 Easter2.innerText ="Orthodox Easter Sunday date for " + eyear + ": " + GetMonth(oMonth) + " " + GetOrdinal(oDay) + " (in the Gregorian calendar) "; Easter3.innerText =" which is the same day as " + GetMonth(jMonth) + " " + GetOrdinal(jDay) + " in the Julian calendar (for regions using that calender at the time) "; } else { Easter2.innerText ="Orthodox Easter Sunday date for " + eyear + ": " + GetMonth(oMonth) + " " + GetOrdinal(oDay); Easter3.innerText =" which is the same day as " + GetMonth(jMonth) + " " + GetOrdinal(jDay) + " in the Julian calendar (no longer in use) "; } } } } function IntDiv (num, dvsr) // performs integer division of num/dvsr - eg IntDiv(9,4)=2 { var negate = false; var result = 0; if (dvsr == 0) return null; else { if (num * dvsr < 0 ) negate = true; if (num < 0) num = -num; if (dvsr < 0) dvsr = -dvsr; result = ((num - (num % dvsr)) / dvsr); if (negate) return -result; else return result; } } function GetMonth(m) { //switch is better, but not supported in JavaScript ver 1.0 if (m==3) return ("March"); if (m==4) return ("April"); if (m==5) return ("May"); } function GetOrdinal(d) { var rmdr = 0; rmdr = d % 10; if (((d >= 4) && (d <= 20)) || (rmdr == 0) || (rmdr > 3)) return (d + "th"); else { //switch is better, but not supported in JavaScript ver 1.0 if (rmdr==1) return (d + "st"); if (rmdr==2) return (d + "nd"); if (rmdr==3) return (d + "rd"); } } function EasterJulian() { var g = 0; var i = 0; var j = 0; var p = 0; g = eyear % 19; i = (19 * g + 15) % 30; j = (eyear + IntDiv(eyear, 4) + i) % 7; p = i - j + 28; jDay = p; jMonth = 4; if (p > 31) jDay = p - 31; else jMonth = 3; } function EasterWestern() { var g = 0; var c = 0; var h = 0; var i = 0; var j = 0; var p = 0; g = eyear % 19; c = IntDiv(eyear, 100); h = (c - IntDiv(c, 4) - IntDiv(8 * c + 13, 25) + 19 * g + 15) % 30; i = h - IntDiv(h, 28) * (1 - IntDiv(h, 28) * IntDiv(29, h + 1) * IntDiv(21 - g, 11)); j = (eyear + IntDiv(eyear, 4) + i + 2 - c + IntDiv(c, 4)) % 7; p = i - j + 28; wDay = p; wMonth = 4; if (p > 31) wDay = p - 31; else wMonth = 3; } function EasterOrthodox (yr, jDay, jMonth) /* Even though the Julian calendar is no longer in use Orthodox Easters are still based on this calendar NOTE! JULIAN Easter Date must be calculated first! This function converts Julian March and April Easter Sunday dates to Gregorian calendar dates */ { var extra = 0; var tmp = 0; oDay = 0; oMonth = 0; if ((yr > 1582) && (yr <= 4099)) { extra = 10; if (yr > 1600) { tmp = IntDiv(yr, 100) - 16; extra = extra + tmp - IntDiv(tmp, 4); } oDay = jDay + extra; oMonth = jMonth; if ((oMonth == 3) && (oDay > 31)) { oMonth = 4; oDay = oDay - 31; } if ((oMonth == 4) && (oDay > 30)) { oMonth = 5; oDay = oDay - 30; } } } //-->

Change Detection

Be notified of
page updates
it's private
powered by
ChangeDetection