cpubbs 发表于 2004-11-6 03:20:34

通过日期算星期的C51源程序

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);
}
//***************************************************
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) &amp;&amp; (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);
}
页: [1]
查看完整版本: 通过日期算星期的C51源程序