以前在C51见到的一个办法(ysfc51)
//以前从C51上摘录的,忘了作者是谁,说声对不起,而且本人并未验证过.
//已知年有日,求星期几
code byte week_tab[]={0,1,4,4,0,2,,5,0,3,6,1,4,6};
byte week(word year,byte month,byte data)
{ //无错误检查
if((month<=2) && ( !(year&0x03) && (year00) || !(year@0))) data--;
return(data year year/4 year/400-year/100 week_tab[month]-2)7;
}
//从公元元年到5535年,不管星期制从何时开始,何时结束.