home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PROG_C
/
SNPD9404.ZIP
/
DAYNUM.C
< prev
next >
Wrap
C/C++ Source or Header
|
1994-04-03
|
1KB
|
42 lines
.I 6 2
#include "scaldate.h"
.D 7 2
.D 12 14
.I 40 14
** Return the day of the week
*/
int dow(unsigned yr, unsigned mo, unsigned day)
{
#if (!ISO) /* Sunday(0) -> Saturday(6) (i.e. U.S.) calendars */
return (ymd_to_scalar(yr, mo, day) % 7L);
#else /* International Monday(0) -> Sunday(6) calendars */
return ((ymd_to_scalar(yr, mo, day) - 1L) % 7L);
#endif
}
/*
.I 50 1
** Return the week of the year (1 - 52, 0 - 52 if ISO)
.D 51 1
.I 75 9
char *days[] =
#if (!ISO)
{"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"};
#else
{"Monday", "Tuesday", "Wednesday", "Thursday",
"Friday", "Saturday", "Sunday"};
#endif
.D 76 1
.I 88 5
if (!valiDate(year, month, day))
printf("%d/%d/%d is invalid!\n", month, day, year);
else printf("%d/%d/%d is a %s, day #%d in week %d\n", month, day, year,
days[dow(year, month, day)], daynum(year, month, day),
weeknum(year, month, day));
.D 89 2