Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site shell.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!ut-sally!ut-ngp!shell!starr From: starr@shell.UUCP (Bob Starr) Newsgroups: net.sources Subject: Day of Week Given Date Routine Message-ID: <223@shell.UUCP> Date: Sat, 8-Dec-84 23:54:43 EST Article-I.D.: shell.223 Posted: Sat Dec 8 23:54:43 1984 Date-Received: Tue, 11-Dec-84 03:18:05 EST Organization: Shell Development Co. P&CS Dept., Houston TX Lines: 28 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]; }