#include<stdio.h>
#include<stdlib.h>
const int week_table[12] = { 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5 };
static int RTC_GetWeek(int Year, int Month, int Date);
int main()
{
int i = 2017;
int data;
printf("i = %d\n",i/100);
printf("i = %d\n",i%100);
data = RTC_GetWeek(2022,7,5);
switch(data)
{
case 1:printf("星期一");break;
case 2:printf("星期二");break;
case 3:printf("星期三");break;
case 4:printf("星期四");break;
case 5:printf("星期五");break;
case 6:printf("星期六");break;
case 7:printf("星期日");break;
default :printf("错误!!!");
}
return 0;
}
static int RTC_GetWeek(int Year, int Month, int Date)
{
int temp2;
int 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 + Date + week_table[Month - 1];
if (yearL % 4 == 0 && Month < 3) temp2--;
temp2 = temp2 % 7;
if (temp2 == 0) return 7;
else return temp2;
}
显示星期的算法
最新推荐文章于 2019-07-08 08:41:13 发布