|
uchar code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31};
uchar month_n_day(uint y,uchar m) //算出某年某月有多少天
{
if(m==2)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29:
28);
else
return(monthday[m-1]);
}
//***************************************************
uchar week(uint y,uchar m,uchar d) //计算某年某月某日是星期几(1900年开
始)
{
long nday=0;
uint i;
for (i=1900;i<Y;I++)
nday =nday+(((i%4 == 0) && (i%100 != 0) || (i%400 == 0))?
366: 365);
for (i=1;i<M;I++)
nday=nday+month_n_day(y,i);
nday=nday+d;
return(nday%7);
}
|
|