Day of Week Alg
e.leeper
ecl at ahuta.UUCP
Thu Dec 13 06:52:06 AEST 1984
REFERENCES: <538 at uwmacc.UUCP>
Re: Perpetual Calendar formula wanted
For people asking about perpetual calendar formulae, this one was in
the Webster's dictionary when I was growing up. I memorized it and can
do it in my head. Except for the fact that I do mod 7 reductions as
I go along, the algorithm I use in my head is the same as the
following.
Break up the date as follows:
MONTH DD, CCYY
For Pearl Harbor day
MONTH = Dec.
DD = 7
CC = 19
YY = 41
Let [[x]] be the integer part of x.
Let y%z be y mod z.
To get the day of the week compute the following:
day = (cent(CC) + [[1.25 * YY]] + mon(MONTH) + DD - fudge)%7
cent(19) = 0
cent(18) = 2
cent(17) = 4
cent(16) = 6
month(Apr. or Jul.) = 0
month(Jan. or Oct.) = 1
month(May) = 2
month(Aug.) = 3
month(Feb. or Mar. or Oct.) = 4
month(June) = 5
month(Sept. or Dec.) = 6
fudge = 1 the first two months of a leap year, otherwise 0.
if day = 0, then the day is a Saturday,
if day = 1, then the day is a Sunday,
if day = 2, then the day is a Monday, ...
So for Pearl Harbor Day you get
day = (0 + 51 + 6 + 7 - 0)%7 = 1
(Evelyn C. Leeper for)
Mark R. Leeper
...ihnp4!lznv!mrl
More information about the Comp.sources.unix
mailing list