现在的位置: 首页 > 综合 > 正文

平年闰年算法

2017年11月26日 ⁄ 综合 ⁄ 共 706字 ⁄ 字号 评论关闭

公式:

{
+ (
/ 4
取整数
) + (
/ 400
取整数) – (
/ 100
取整数
) + [ ( 月日天数
+ 当前天数
) -  1] } Mod 7

得出的余数就是星期数。

 

星期数由0 ~ 6
分别:

星期日
----------- 0

星期一
----------- 1

星期二
----------- 2

星期三
----------- 3

星期四
----------- 4

星期五
----------- 5

星期六
----------- 6

 

月日天数:  平年
 ——  闰年

一月
0+日数,    0+日数,

二月
3+日数,    3+日数,

三月
3+日数,    4+日数,

四月
6+日数,    0+日数,

五月
1+日数,    2+日数,

六月
4+日数,    5+日数,

七月
6+日数,    0+日数,

八月
2+日数,    3+日数,

九月
5+日数,    6+日数,

十月
0+日数,    1+日数,

十一月:
3+
日数,    4+日数,

十二月:
5+
日数,    6+日数,

 

计算闰年公式:能被4 整除 而不能被100 整除的 或者能被4 和400 整除 年份就是闰年

闰年 = ( 年mod 4 == 0 ) && ( 年mod 100 !=0)|| ( 年mod 400==0 )

 

事例:

 

日期 2010/9/28

Year = 2010

 

leap-year= ( (Year mod 4 ==0 ) &&( (Year mod 100 !=0 ) || (Year mod 400 == 0 ))) ?
闰年:平年

 

leap-year=平年

 

月日天数=5

 

星期数 = { 2010 + ( 2010 / 4 ) + ( 2010 /  400 ) – ( 2010 / 100 ) + [ ( 5 + 28 ) - 1 ] } Mod 7

星期数 = ( 2010 + 502 + 5 – 20 + 32 } Mod 7

星期数 = 2529 Mod 7

星期数 = 2

 

那么
2010/9/28

就是星期二

抱歉!评论已关闭.