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 = (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


-- 
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de