bit bRunnian(year)//year暂时为2字节 { if(year%100==0) { if(year%400==0) return 1; else return 0; } else { if(year%4==0) return 1; else return 0; } } void timerInt() intterrupt X { second++ if(second==60) { second=0; minite++; }
if(minite==60) { minite=0; hour++; }
if(hour==24) { hour=0; day++; }
switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: if(day==32) { day=1; month++ } break; case 4: case 6: case 9: case 11: if(day==31) { day=1; month++ } break; case 12: if(day==32) { day=1; month=1; year++; } break; case 2: if(day==29) { if(!bRunnian(year)) { day=1; month++; } } else if(day==30) { day=1; month++; } break; default: break; } }
|