From: servando garcia Date: 2007-04-09T04:59:34+09:00 Subject: Re: Proposal: Yet another Date method If we are taking a vote on this I vote YES On Sun, 2007-04-08 at 22:05 +0900, Bertram Scharpf wrote: > Hi, > > I would like the Date class to be extended by this: > > require "date" > > class Date > class < 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 = (3*c/4) - 12 # corrections > z = (8*c+5)/25 - 5 > d = 5*year/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 > >