我写的程序,自己移植一下吧,应该看得懂
闰年计算:
uint8 isleapyear(uint16 year)
{
if(((year%400)==0)||(((year%4)==0)&&(year%100)==0))
{
return 1;
}
else
return 0;
}
下面是按月计算日的最大值,每次mon变化计算一次就行了。
switch(mon)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
daymax = 31;
}break;
case 4:
case 6:
case 9:
case 11:
{
daymax = 31;
}break;
case 2:
{
daymax = 28+isleapyear(year);
}break;