This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Programming Diversions and the fly likes The Date of Easter Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Other » Programming Diversions
Bookmark "The Date of Easter" Watch "The Date of Easter" New topic
Author

The Date of Easter

HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Help find a neat algorithm to compute the Date of Easter.
The rule is that Easter is the first Sunday after the first ecclesiastical full moon that occurs on or after March 21.
ecclesiastical full moon :
An imaginary full moon used in the computation of the date of Easter. It is the 14th day of the moon, counting from its first appearance after conjunction (roughly speaking, conjunction is the dark of the moon).
Try first with the Gregorian calendar
and for awards in bravery try the Hebrew calendar.
The awards can be done even post-humously.
[ March 29, 2004: Message edited by: HS Thomas ]
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
From a page on the web that gives a pretty accurate means of calculating Easter:
So can't post the link just yet.
Unfortunately, many definitions of Easter on the Internet and in Encyclopaedias and Almanacs are misleading, ambiguous and just plain wrong! This is obvious with the application of plain commonsense. A typical wrong definition is:
This is wrong!
Easter Sunday is the Sunday following the full moon after the Vernal Equinox.
Vernal Equinox means spring Equinox, and countries in the Southern hemisphere have opposite seasons to those in the Northern hemisphere. I can assure you that Easter is not celebrated in September in the southern hemisphere! Changing "Vernal equinox" to "March equinox" is equally wrong, but for different reasons (see below).
Also, I think that almost everyone reading this would assume that "full moon" refers to an astronomical full moon date. An astronomical full moon (AFM) occurs at one instant in time, and therefore occurs on 2 dates around the world (consider countries either side of the international dateline!). Again, I can assure you that countries do not celebrate different Easter dates based upon their own full moon dates!
And it gets worse!
Other definitions incorrectly refer to March 21st. This usually arises because Easter is the Sunday after the first EFM date after March 20. There are two "afters" here, so the earliest possible Easter is March 22.
Some people have tried to simplify this concept by removing one "after" and changing the date to March 21, so it reads "the full moon after March 21". This logic is seriously flawed!
It is further compounded with phrases like "from March 21". This is unclear whether it means "from and including March 21" or "after March 21". One bizarre encyclopaedia definition gets it so wrong that it concludes that Easter Sunday can never fall on March 22! Absolute rubbish!
How are full moons related to Easter?
Astronomical Full Moons dates are not directly related to Easter dates. Easter is based upon Paschal Full Moon (PFM) dates, and each PFM is the particular Ecclesiastical Full Moon (EFM) date after March 20. EFM dates are approximated astronomical full moon dates, and are surprisingly accurate when you consider how long ago they were forecast.
PFM dates are found in a table (see above). There is a table of 19 dates for the Julian calendar, and several 19-dates tables for the Gregorian calendar.
From 1583, Astronomical and Paschal full moon dates never differ by more than 3 dates, even taking into account the 2-date AFMs (see above). For example, an April 11 Easter Sunday could result from:
* A Sunday April 4 PFM, with the nearest astronomical full moon as early as April 1 & April 2. (April 1 just East of the International Date Line, and April 2 on the Western side)
* A Saturday April 10 PFM, with the nearest astronomical full moon as late as April 12 & April 13.
For most Easter Sundays, the nearest astronomical full moon date can be anything from 10 days earlier (over a week before) to 2 days later (on the Tuesday after Easter).
How is the equinox related to Easter?
The equinox is not related to Easter! March 20 is the critical date for determining all Easters, and March 20 was the equinox date in 325 AD when the definition of Easter date was agreed. In our current Gregorian calendar, and North of the equator, the Vernal Equinox is one of 5 dates from March 18 to 22. South of the equator, it is one of 7 dates from September 19 to 25.
What can I do when I see a wrong definition?
Please ask to have it corrected! Usually you will be able to find an email address (or an editor if it's a publication). Please write, and ask them to correct their definition
[ March 29, 2004: Message edited by: HS Thomas ]
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
Try this
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Certainly worked for 2004:
2004/04/11
and for 1701
1701/03/27
A genius.
1753/04/22
And where do you handle the moons ?
2040/04/01
[ March 31, 2004: Message edited by: HS Thomas ]
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Another method, adapted from the web for java which uses Paschial Full Moon.
According to this , Easter sunday in the year 33 was on the 3/4/33.

[ April 03, 2004: Message edited by: HS Thomas ]
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
For the year 3333, Michael's solution gives 19/04/3333
and the latter gives Easter as falling on 29/03/3333.
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
Checked a few date calculators on the web, all have 3333 as 29 March.
First reaction was, "they're all wrong" :-)
If I get a chance over easter(coincidence?), I'll see if I can tweak mine
a bit (without breaking something else).
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404

I just copied an algorithm from some programming language (uses Dim :?)
will try to see if it follows any particular logic for 30th centuries.
Donal Tobin
Greenhorn

Joined: Apr 05, 2004
Posts: 1
Check out IBM icu4j project there is an Easter Holiday class both western and ortodox
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Thanks Donal. That's just-the-ticket what's needed.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: The Date of Easter
 
Similar Threads
JavaRanch is a Jolt Finalist!
isValidDateTime
A hare-moon symbiosis
program gives different results with same data
What's your favorite open source library/project?