This
algorithm, devised by
Christian Zeller, allows one to calculate
day of the week given a
date since the
Gregorian Calendar was adopted in
1582.
Zeller's
Congruence was first published in
Acta Mathmatica Number 9,
1886.
Note the awkward numbering system for month -- Michael Keith's C function (presented in 'day of
the week') uses a more common representation.
d: day (d=1..31)
m: month (beginning with 3=March, January and February are to be considered months 13 and 14 of the
previous year)
Y: year (last two digits)
C: century (really, the first two digits of a four-digit year)
D: day of the week (0=Saturday, 1=Sunday, ... 6=Friday)
D = d + (((m+1)*26)/10 + Y + Y/4 + C/4 - 2*C + 49) mod 7
Using
September 1, 2000 as an example:
d=19
m=4
Y=01
C=20
D = (19) + ((((4)+1)*26)/10 + (01) + (01)/4 + (20)/4 - 2*(20) + 49) mod 7
D = 5 (Thursday)