问题:为什么每隔4年就会多出一个2月29日?
Steed 果壳网主笔,专业级业余天文爱好者 :
为了给不完美的历法(以及有强迫症的死理性派们)埋单。
原因其实很简单——因为地球围绕太阳公转一圈所需的时间(天文学上称为回归年)其实是365.242190419天,并不是一个整数,而是有整有零的。因此,4年实际上相当于365.242190419天*4=1460.968762天,大约等于1461天——而正常的每年365天*4=1460天,差不多少了一天。
所以真相并不是什么每隔4天多出一天,恰恰相反,是我们每年都少过了四分之一天,加起来每四年就少过了一天……
这咋成?!于是在设置历法时,就有了这样的规定,如果某一年的年份能够被4整除,这一年就被设置为闰年,会多出一天,也就是2月29日。比如今年是2016年,能够被4整除,因此就有了2月29日。
如果要回答“为什么每四年就多出一天”的问题,那么到这里就可以结束了,我们下期再见。
刚才说了,4年实际上有1460.968762天,如果每4年就设置一个闰年,那么日历上的4年就会是1461年——前者比后者少了0.031238天,差不多等于45分钟。换句话说,每过4年(包含一个闰年),我们的日历就会落后大约45分钟。经过大约32个闰年(128年)之后,日历就会落后差不多整整一天了!
所以,每4年多出一天,这样的闰年设置方案是有问题的,应该每128年再扣掉一个闰年才对。但128年不是个整数,不好记忆,操作起来也比较麻烦。于是,历法的设计者采用了另一个比较好记的办法——每100年就扣掉一个闰年,但每400年再补上一个闰年。
换句话说,如果某个年份可以被100整除,那么除非它能被400整除,否则就不是闰年,没有2月29日。比如1900年和2100年,虽然它们都能被4整除,但由于是满了百年,却不能被400整除,因此都没有2月29日,而2000年就有2月29日。
这种闰法比较直观的一个后果是:1896年2月29日出生的小明,直到7岁都没能过上一个生日呢……
这样一来,每400年实际上就会有97个闰年和303个正常年份,因此日历上的天数就会有366天*97+365天*303=146097天,而实际上400个回归年的长度是365.242190419天*400=146096.8762天。可见,400年才差了0.1238天,不到3个小时,已经相当精确了。
基本上,闰年就是这样设置的了。
最后,还剩一个问题:刚才不还剩仨小时呢吗?!
超过400年的闰年应该如何设置,目前还没有明文规定。不过可以看出,过了400年之后,日历还是会落后大约3个小时——如果想再精确一点的话,应该每3200年再扣除一个闰年才对!
(咋又有)足足3小时啊!
不过,考虑到公元纪年到现在也才2016年,估计只有真正的死理性派才会真的去考虑3200年再多扣一个闰年了吧……
让我们拭目以待  ̄\_(ツ)_/ ̄
“历法纠正错误罢了。出这么多bug打这么多补丁还没补好呢也好意思当个节过?”
死理性派,卒。
联系客服