日期求星期算法及闰年来历

日期求星期算法及闰年来历

ID:20588173

大小:33.50 KB

页数:5页

时间:2018-10-13

日期求星期算法及闰年来历_第1页
日期求星期算法及闰年来历_第2页
日期求星期算法及闰年来历_第3页
日期求星期算法及闰年来历_第4页
日期求星期算法及闰年来历_第5页
资源描述:

《日期求星期算法及闰年来历》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、日期算法/*星期计算公式(年+年/4+年/400-年/100-年基数+月基数+日)/7=……余星期几注:式中分数均取整年基数:平年1,闰年2,月基数:1、平年:一月0,二月3,三月3,四月6,五月1,六月4,七月0,八月3,九月5,十月0,十一月3,十二月5.2、闰年:一月0,二月3,三月4,四月0,五月2,六月5,七月0,八月3,九月6,十月1,十一月4,十二月6.如:1949年10月1日是星期几?(1949+1949/4+1949/400-1949/100-1+0+1)/7=(1949+487+4-19-1+0+1)/7=345……6即该日为星期六。增加几个函

2、数,用于计算星期*/闰年的判断方法:整百的年份,能被4整除但不能被400整除的,不是闰年。也就是说2000年是闰年,1900年、2100年等不是闰年。地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropicalyear)。公历的平年只有365日,比回归年短约0.2422日,所余下的时间约为四年累计一天,故四年于2月加1天,使当年的历年长度为366日,这一年就为闰年。现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来,因此,每四百年中要减少三个闰年。所

3、以规定,公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的,虽然是4的倍数,也是平年,这就是通常所说的:四年一闰,百年不闰,四百年再闰。例如,2000年是闰年,1900年则是平年。整百的年份,能被4整除但不能被400整除的,不是闰年。也就是说2000年是闰年,1900年、2100年等不是闰年。地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropicalyear)。公历的平年只有365日,比回归年短约0.2422日,所余下的时间约为四年累计一天,故四年于2月加1天,使当年的历年长度为366日,这一年就为闰年。

4、现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来,因此,每四百年中要减少三个闰年。所以规定,公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的,虽然是4的倍数,也是平年,这就是通常所说的:四年一闰,百年不闰,四百年再闰。例如,2000年是闰年,1900年则是平年。使用C语言实现如下INT8Uis_leap_year(INT8Ux)//判断是否为闰年{INT32Uyear;year=(x/16*10)+(x&15)+2000;if((year%4==0&&year%100

5、!=0)

6、

7、year%400==0)return1;elsereturn0;}INT8Ujsxq(INT8Uyear,INT8Umonth,INT8Uday){INT8Uflag=0;//标识所给定的年份是否为闰年INT8Uyear_j=0,month_j=0;//表示年基和月基INT8Umonth_temp;//表示转换为十进制的月份INT32Uyear_temp;//表示转换为十进制的年份INT8Uday_temp;//表示转换为十进制的日期INT8Uxq;//表示最后计算结果的星期year_temp=(year/16*10)+(year&15)+2000;m

8、onth_temp=(month/16*10)+(month&15);day_temp=(day/16*10)+(day&15);flag=is_leap_year(year);if(flag==0){year_j=1;switch(month_temp){case1:case7:case10:month_j=0;break;case2:case3:case8:case11:month_j=3;break;case4:month_j=6;break;case5:month_j=1;break;case6:month_j=4;break;case9:case12:m

9、onth_j=5;break;default:break;}}else{year_j=2;switch(month_temp){case1:case4:case7:month_j=0;break;case2:case8:month_j=3;break;case3:case11:month_j=4;break;case5:month_j=2;break;case6:month_j=5;break;case9:case12:month_j=6;break;case10:month_j=1;break;default:break;}}//(年+年/4+年/400-年/1

10、00-年基

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。