战舰RTC实验中,已知年月日,怎样求星期号???

2019-10-15 07:50发布

/**函数名   RTC_Get_Week()
  *功能       输入公历日期得到星期(只允许1901-2099年)
  *参数      公历年月日
  *返回值    星期号
               0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
  */                                                                                                                                                                         
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);
}                          

网上有说,在已知年月日的情况下,通过蔡勒公式可以求得星期号。但实验例程中,好像不是。原子哥能不能解释一下上边函数的实现原理???


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
密耳
1楼-- · 2019-10-16 05:12
 精彩回答 2  元偷偷看……
hlz1490781325
2楼-- · 2019-10-16 06:59
密耳 发表于 2017-1-11 13:54
UTC时间来算...........

我查询了一下关于UTC方面的东西,仍然不太明白,你能不能详细说一下,先谢过

一周热门 更多>