楼主 wise |
Q:如何编写某一年是否为闰年的VBA程序? A:ALT+F11→插入模块→在模块中输入以下代码:
|
2楼 DJ_Soo |
小7我问你一个我一直没明白的问题,判断闰年为什么要判断这么多? 为什么不是直接判断能否整除4? |
3楼 wise |
关于闰年的一些知识 闰年含义:闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份,即有闰日的年份为闰年。 公历闰年判定遵循的规律为: 四年一闰,百年不闰,四百年再闰。 公历闰年的简单计算方法(符合以下条件之一的年份即为闰年。 1:能被4整除而不能被100整除。(如2100年就不是闰年)。 2:能被400整除。 (能被100整除但是不能被400整除的,不是闰年)。 详情如下: 闰年(leap year),指在公历(格里历)或夏历中有闰日的年份,以及在中国旧历农历中有闰月的年份。 地球绕太阳运行周期为365天5小时48分46秒(合365.24219天),即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,每四年累积约一天,把这一天加于2月末(2月29日),使当年的历年长度为366日,这一年就为闰年。 按照每四年一个闰年计算,平均每年就要多算出0.0078天,经过四百年就会多出大约3天来,因此,每四百年中要减少三个闰年。所以规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年。比如,1700年、1800年和1900年为平年,2000年为闰年。 由于地球的自转速度逐渐降低,而公转速度则相对更加稳定,所以上述的系统经过更长的周期也会发生微小的误差。据计算,每8000年会有一天的误差,所以英国的天文学家John Herschel提议公元4000为平年,以后类推12000年,20000年亦为平年。但此提议从未被正式采纳。原因是到了4000年,地球自转的精确速度并非现在可以预测,所以届时参照真实数据方可做出判断。因此,在长远的将来,微小的调整应该不是由预定的系统决定,而是随时不定性的。 需要注意的是,现在的公历是根据罗马人的"儒略历"改编而得。 由于当时没有了解到每年要多算出0.0078天的问题,从公元前46年,到16世纪,一共累计多出了10天。为此,当时的教皇格雷果里十三世,将1582年10月5日人为规定为10月15日。并开始了新闰年规定。此后,平均每年长度为365.2425天,约4年出现1天的偏差。 夏历的平年只有354日,比12个朔望月短0.3671日,为使每月初一与月朔相合,规定每30年中有11年的年底增加1日,这一年的历年有355日,即为闰年。中国旧历农历作为阴阳历的一种,每月的天数依照月亏而定,一年的时间以12个月为基准,平年比一回归年少约11天。为了合上地球围绕太阳运行周期即回归年,每隔2到4年,增加一个月,增加的这个月为闰月。在加有闰月的那一年有13个月,历年长度为384或385日,这一年也称为闰年。 |
4楼 DJ_Soo |
还是没看懂,2100年为啥不是闰年? 2000年是闰年啊,每四年一次,100年之后的2100年竟然不是???我晕了.. 是不是我对闰年不理解啊 ![]() PS:真是我理解错误了!!! |
5楼 amulee |
每四年闰年一次,是为了调整公转周期与一年365天之间的时差,但是调整下来还是有一点误差,所以需要再度调整。 |
6楼 donghan |
天文历法的知识,学习了 |
7楼 kevinchengcw |
利用excel内部判断功能:
|
8楼 biaotiger1 |
kevinchengcw 好想法,好代码 |
9楼 yizhbi |
下来慢慢学习吧,谢谢 |