根据年月日计算星期

利用基姆拉尔森计算公式

W= (d+2m+3(m+1)/5+y+y/4-y/100+y/400+1) mod 7
其中,W的取值范围是0~6,其中0代表星期日,1~6分别代表星期一到星期六。注意在运算时要把1月和2月看为是上一年的13月和14月代入计算!其模板代码如下

C语言代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const char *WeekYearday(int years, int months, int days) 
{
int WeekDay=-1;
if(1==months || 2==months)
{
months+=12;
years--;
}
WeekDay=(days+1+2*months+3*(months+1)/5+years+years/4-years/100+years/400)%7;
switch(WeekDay)
{
case 0 :
return "星期天[Sunday]";
break;
case 1 :
return "星期一[Monday]";
break;
case 2 :
return "星期二[Tuesday]";
break;
case 3 :
return "星期三[Wednesday]";
break;
case 4 :
return "星期四[Thursday]";
break;
case 5 :
return "星期五[Friday]";
break;
case 6 :
return "星期六[Saturday]";
break;
default :
return NULL;
break;
}
return NULL;
}
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2024-2025 xgclevo
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信