Blinking snake

Easter

NAME

easter - when is, was or will be Easter?

SYNTAX

easter [-h?MTBPJmHSbIp-v] <year> ...

DESCRIPTION

Easter uses an algorithm from Sky & Telescope magazine (March 1986) that was originally worked out, in part, by Carl Friedrich Gauss, although he was not completely successful. A later revision brought the algorithm into accuracy. It was re-arranged by H. Herbert Howe for Sky & Telescope, April 1954 (p. 196), and that revision is the one (republished in 1986) used in easter. I have modified the algorithm where necessary so that it can deal with years from 0 to 1583.

The program figures out the date of Easter according to a complicated ecclesiastical formula for any year in the Gregorian Calendar including and after 1583 CE (347 BP), which is the year the rules for determining the official observance of Easter in that calendar system were formally decided upon. 1583 is also the first \fIfull\fR year that the Gregorian calendar was used, which makes it the first Easter of the Gregorian Era.

For the years between 1 CE and 1583, a different algorithm is used by default for the Julian Calendar, one that is basically a table lookup. It is much simpler than the Gregorian version, since the date of Easter in the Julian Calendar repeats every 532 years, while the repetition frequency in the Gregorian Calendar is 5,700,000 years. For the Julian Calendar one merely determines the “golden number” of the year required (year % 19), the “dominical letter” of the year (year % 28 and some fudging), and then uses the results as co-ordinates in a matrix.

You may request the date of Easter for any year from 0 up, and you can specify either Julian or Gregorian method for any year. For the Julian method, years before 0 will be right; for the Gregorian method, however, they won’t. I don’t have the kinks worked out of the algorithm yet. See the Python version on the website.

OPTIONS

Easter recognizes the following options:
-h or -?
Print a help page and die;
-M
Print this manual page;
-T
Print an interesting addendum.
-B
Print another interesting addendum.
-P
Use the Gregorian Easter algorithm for all dates requested, even those before 1583.
-J
Use the Julian Easter algorithm for all dates requested, even those after 1583.
-m
Show related movable feasts.
-H
Print a heading line for the movable feast table.
-S
Print a table showing all Sundays of the year requested.
-b
Print years BCE as “2 BC” instead of “-1.”
-I<file>
Obtain the year(s) desired from <file>, which can be a filename, stdin, or /dev/tty.
-p
Prompt on the terminal if the -I option was given and the filename specified was stdin or /dev/tty.
--
Breaks out of the argument processing loop early, in order to enter negative years (-100).
-v
Print the version date of the program and die.

EXAMPLES

% easter
April 1988 3
% easter 1
March 1 27 (Julian Style)
% easter 1582
April 1582 15 (Julian Style)
% easter 1988
April 1988 3
% easter 2525
April 2525 15
% easter -- -532 0 532
April -532 11 (Julian Style)
April 0 11 (Julian Style)
April 532 11 (Julian Style)
% easter 0
April 0 11 (Julian Style)
% easter -Hm 1996

               Holiday/Feast Name     Weekday      Month Date  Year Day #

 Octave of Christmas (Circumsion):     Monday,   January  1    1996 [  1]*
                   New Year's Day:     Monday,   January  1    1996 [  1]*
                         Epiphany:   Saturday,   January  6    1996 [  6]*
                Baptism of Christ:     Sunday,   January  7    1996 [  7]
               Holy Name of Jesus:     Sunday,   January 14    1996 [ 14]
                       Imbolc Eve:  Wednesday,   January 31    1996 [ 31]*
                           Imbolc:   Thursday,  February  1    1996 [ 32]*
                     Purification:     Friday,  February  2    1996 [ 33]*
                    Groundhog Day:     Friday,  February  2    1996 [ 33]*
                    Leap Year Day:   Thursday,  February 29    1996 [ 60]*
                     Septuagesima:     Sunday,  February  4    1996 [ 35]
                    Quinquagesima:     Sunday,  February 18    1996 [ 49]
      Shrove Tuesday (Mardi Gras):    Tuesday,  February 20    1996 [ 51]
                    Ash Wednesday:  Wednesday,  February 21    1996 [ 52]
                     Quadragesima:     Sunday,     March 24    1996 [ 84]
                      Palm Sunday:     Sunday,     March 31    1996 [ 91]
                  Maundy Thursday:   Thursday,     April  4    1996 [ 95]
                      Good Friday:     Friday,     April  5    1996 [ 96]
                 St. Joseph's Day:    Tuesday,     March 19    1996 [ 79]*
                  ~Vernal Equinox:  Wednesday,     March 20    1996 [ 80]*
                     Annunciation:     Monday,     March 25    1996 [ 85]*
                  Beltane/May Day:  Wednesday,       May  1    1996 [122]*
                    Easter Sunday:     Sunday,     April  7    1996 [ 98]
                  Rogation Sunday:     Sunday,       May 12    1996 [133]
                        Ascension:   Thursday,       May 16    1996 [137]
                        Pentecost:     Sunday,       May 26    1996 [147]
                   Trinity Sunday:     Sunday,      June  2    1996 [154]
                   Corpus Christi:   Thursday,      June  6    1996 [158]
         Octave of Corpus Christi:   Thursday,      June 13    1996 [165]
                     Sacred Heart:     Friday,      June 14    1996 [166]
                 ~Summer Solstice:     Friday,      June 21    1996 [173]*
            Saints Peter and Paul:   Saturday,      June 29    1996 [181]*
                       Lammas Eve:  Wednesday,      July 31    1996 [213]*
                           Lammas:   Thursday,    August  1    1996 [214]*
                       Assumption:   Thursday,    August 15    1996 [228]*
                 Nativity of Mary:     Sunday, September  8    1996 [252]*
                   Holy Cross Day:   Saturday, September 14    1996 [258]*
                ~Autumnal Equinox:     Monday, September 23    1996 [267]*
            Birthday of the Earth:   Saturday,   October 26    1996 [300]*
                  Christ the King:     Sunday,   October 27    1996 [301]
                       All Saints:     Friday,  November  1    1996 [306]*
                          Samhain:     Friday,  November  1    1996 [306]*
                        All Souls:   Saturday,  November  2    1996 [307]*
                     Thanksgiving:   Thursday,  November 28    1996 [333]
                       St. Andrew:   Saturday,  November 30    1996 [335]*
         Last Sunday of Pentecost:     Sunday,  December  8    1996 [343]
            Immaculate Conception:     Sunday,  December  8    1996 [343]*
                    ~Mother Night:     Friday,  December 20    1996 [355]*
                 ~Winter Solstice:   Saturday,  December 21    1996 [356]*
                            ~Yule:   Saturday,  December 21    1996 [356]*
                    Christmas Eve:    Tuesday,  December 24    1996 [359]*
                        Christmas:  Wednesday,  December 25    1996 [360]*
           First Sunday in Advent:     Sunday,  December  1    1996 [336]
          Second Sunday in Advent:     Sunday,  December  8    1996 [343]
           Third Sunday in Advent:     Sunday,  December 15    1996 [350]
          Fourth Sunday in Advent:     Sunday,  December 22    1996 [357]
                   New Year's Eve:    Tuesday,  December 31    1996 [366]*

* = Not a movable feast                                   Gregorian Style

SPECIAL CONSIDERATIONS

The dates come out in the order they do because they can be used as input to another (local) program, Easter, which acts like boxdate but shows the date of Easter for the requested year highlighted.

The ? in the -? must be escaped (preceded by a \) to prevent interpretation by the shell.

If no year is supplied on the command line, easter assumes you wish the date of Easter in the current year.

The author guarantees nothing, and makes no claims of any sort. However, if you find bugs in the program, let me know; they will be fixed.

SEE ALSO

date(1), cal(1), ncal(I), jug(I), grj(I), Easter(I)

PLATFORMS SUPPORTED

UnixWare®

AUTHOR

Ivan Van Laningham. If you would like the C source, email me.

Previous Page
Table of Contents
Next Page

Main web site:  http://www.pauahtun.org

Valid HTML 4.01 Transitional