Proposal: Yet another Date method

Hi,

I would like the Date class to be extended by this:

require “date”

class Date
class <<self
def easter_western year
# This is after Donald E. Knuth and it works for both
# Julian (before 1583) and Gregorian (after 1582) calendars.
g = year%19 + 1 # golden number
c = year/100 + 1 # century
x = (3c/4) - 12 # corrections
z = (8
c+5)/25 - 5
d = 5year/4 - x - 10 # March((-d)%7)th is Sunday
e = (11
g + 20 + z - x) % 30 # moon phase
e += 1 if e == 25 and g > 11 or e == 24
n = 44 - e # full moon
n += 30 if n < 21
month = 3
day = n+7 - (d+n)%7
if day > 31 then
month += 1
day -= 31
end
civil year, month, day
end
alias easter easter_western
end
end

I tested it with all easter date tables I found on the web
in German, English and French.

Happy Easter!

Bertram

If we are taking a vote on this I vote YES

I wrote something that tests for Easter, Christmas, 4th of July, and
so on wrapped into a method called “is_national_holiday?” that I
planned on releasing as a gem, but I never did…I still have it if
you actually need something that doees this.

–Jeremy

On 4/8/07, Bertram S. [email protected] wrote:

    # Julian (before 1583) and Gregorian (after 1582) calendars.
    day = n+7 - (d+n)%7

I tested it with all easter date tables I found on the web
http://www.bertram-scharpf.de


http://www.jeremymcanally.com/

My free Ruby e-book:
http://www.humblelittlerubybook.com/book/

My blogs:

http://www.rubyinpractice.com/

Bertram S. [email protected] writes:

Hi,

I would like the Date class to be extended by this:

cf. ruby-1.8.6/sample/goodfriday.rb