OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3318|回复: 1

这个怎么理解? 我百度了一下,好像那个月修正数据表每一年的都不一样的,请问这个月修正数据表要每年修正才能使用吗? 还...

[复制链接]

30

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2015-8-29
在线时间
17 小时
发表于 2016-1-28 18:43:30 | 显示全部楼层 |阅读模式
1金钱
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;
        temp2=temp2+day+table_week[month-1];
        if (yearL%4==0&&month<3)temp2--;
        return(temp2%7);
}                          



这个怎么理解?  我百度了一下,好像那个月修正数据表每一年的都不一样的,请问这个月修正数据表要每年修正才能使用吗?  还是说这是其他算法,每一年都是一样的。
求赐教!!!!!!!         


最佳答案

查看完整内容[请看2#楼]

我也不懂原子哥这段代码的意思,建议直接用基姆拉尔森公式,简单快捷,亲测有效。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

17

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1056
金钱
1056
注册时间
2016-1-5
在线时间
146 小时
发表于 2016-1-28 18:43:31 | 显示全部楼层
我也不懂原子哥这段代码的意思,建议直接用基姆拉尔森公式,简单快捷,亲测有效。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 03:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表