[net.sources] Day of Week Given Date Routine

starr@shell.UUCP (Bob Starr) (12/09/84)

To whoever requested a routine to figure the day of the week given
any date... Called zeller, since that's the guy who wrote the equations
(credit where credit is due).
 
======================Whack me off=====================================
 
/****************************************************************
Compute day of week given any date. Year passed as e.g. 1984.
Algorithm by Zeller.
****************************************************************/
char *
zeller (m,d,y)
int m,d,y; {
 
static char *day_wk[] =
 { "Sun","Mon","Tue","Wed","Thu","Fri","Sat" };
int y0, y1, y2, m1;
int dbuf;
 
m1 = ((m+9) % 12) + 1;
y0 = (m <= 2)?(y-1):y;
y1 = y0 / 100;
y2 = y0 % 100;
 
dbuf = ( (26*m1-2)/10 + d + y2 + y2/4 + y1/4 - 2*y1 ) % 7;
if (dbuf < 0) dbuf += 7;
return day_wk[dbuf];
}