您的位置:首页 > 其它

如何快速计算出星期几

2017-03-29 15:57 267 查看
有的时候需要根据日期快速计算出星期几来,我从网上搜索到一个口诀,验证了几个日期,发现还是靠谱的,这个公式的证明目前我还不会,但可以保证2000-2099的星期计算是靠谱的,其他时间我没有验证过。

const u8 month_code[][12]={
{6,2,2,5,0,3,5,1,4,6,2,4},
{5,1,2,5,0,3,5,1,4,6,2,4},
};

int calc_week(u8 nian,u8 yue,u8 ri)
{
u8 isloop;
u8 yc,mc,week;

isloop=((nian&3)!=0)?0:1;

yc=(nian/4+nian)%7;

mc=month_code[isloop][yue-1];  //这里的闰年只是简单判断

week=(yc+mc+ri)%7;

return week;
}


简单验证下,2002-3-31是星期日,2020-2-28是星期五,2099-2-28是星期六,2032-7-28是星期三,... ...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息