先来看看 原子的代码
看得我一头雾水 没办法度娘咯 。发现原子的代码是基于 基姆拉尔森计算公式 修改而来。
这是基于JAVA的代码实现。
找到源头还是看不明白,哈哈
接下来才是找到了一篇文章 ,文章太长,我就贴标题 各位百度吧
“推导基姆拉尔森公式根据日期计算星期”接下来说说我对原子代码的理解
u8 const table_week[12]={0,3,3,6,1,4,6,2,5,0,3,5}; //月修正数据表
u8 RTC_Get_Week(u16 year,u8 month,u8 day)
{
u16 temp2;
u8 yearH,yearL;
yearH=year/100; yearL=year%100;
// 如果为21世纪,年份数加100
if (yearH>19)yearL+=100;
// 获取1900年之后的年数
temp2=yearL+yearL/4;
//获取这些年中的闰年数值
temp2=temp2%7;
//获取year一月的星期表
temp2=temp2+day+table_week[month-1];
//加上日期加上月修正数据表
if (yearL%4==0&&month<3)temp2--;
//如果year是闰年 -1
return(temp2%7);
}
不知道我的理解对不对,还需原子哥指教。
一周热门 更多>