对于闰年的理解

刚学编程那会,一直弄不明白为什么闰年的算法是下面这个样子:
(year%4==0&&year%100!=0)||(year%400==0)

以前也经常听:四年一闰百年不闰四百年再闰;

从来没深究过这个里面的根本原因;

直到最近才去深入剖析,对于平年和闰年的设置其实就是为了更精确的计算时间,是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。

1、维基百科的解释如下:

闰年是指该年有366日,即较平常年份多出一日。闰年是为了弥补因人为历法规定的年度天数365日和平均回归年的大约365.24219日的差距而设立的。不同历法有不同置闰方法。儒略历每4年置1闰日,平均1年是365.25日。格里高利历每400年少3次闰日,平均是365.2425日。多出来的一天为2月29日。

目前使用的格里高利历闰年规则如下[1]

计算格里高利历年份是平年还是闰年
  1. 公元年份非4的倍数,为平年。
  2. 公元年份为4的倍数但非100的倍数,为闰年。
  3. 公元年份为100的倍数但非400的倍数,为平年。
  4. 公元年份为400的倍数为闰年。

每逢閏年,2月份有29日,平年的2月份為28日。

2、按照理解,具体推算方法如下:

历法规定为365天,实际地球绕太阳的公转周期是365天5时48分46秒(5时48分46秒 = 5*60*60+48*60+46=20926秒   20926/24*60*60=20926/86400=0.24219天),约为365.24219天,实际一年则多出约0.24219天,4年多出4*0.24219=0.96876天≈1天,因此4年设置1闰年,即加上少算的1天,闰年设置366天,但是如果依此方法,400年就有100个闰年,即100天,而实际400年地球公转日多出400*0.24219=96.876天≈97天,历法比实际多了3天,为了抵消掉这三天,国际历法组织规定,400年中需要少掉3个不闰年,这三个不闰年就规定在不能被400整除的世纪年中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妈妈爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值