#include #define uint unsigned int uchar code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31}; //************************************************ return(nday%7); void main() week1=week(aa1,11,2);//week1為計(jì)算出來的星期幾。 //說明: 如計(jì)算2010年12月05日是星期幾:假設(shè) uchar year,month,day; year=0x10; //年份:10年 day=0x05; //日: 05日 則星期為:week1=week((year>>4)*10+(year&0x0f)+2000,(month>>4)*10+(month&0x0f),(day>>4)*10+(day&0x0f)); 注:此式只能計(jì)算2000年到2099年的星期。
#define uchar unsigned char
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) //計(jì)算某年某月某日是星期幾(1900年開始)
{
long nday=0;
uint i;
for (i=1900;i
for (i=1;i
nday=nday+d;
}
{
ucharweek1,week2,week3,week4;
uint aa1,aa2,aa3,aa4;
aa1=10;
aa1=aa1+2000;
while(1)
{
;
}
}
month=0x12; //月份:12月