为什么1900年不是闰年

缘起

看到一段 C++ 的程序,为了介绍逻辑运算符,让判断一个年份是不是闰年。

为什么1900年不是闰年

简而言之,如果某年的末尾不是 00,那么能整除 4 就是闰年;如果末尾是 00,那么能整除 400 才是闰年。

我就纳闷了,不是 4 年一闰吗?既然 1896 年是闰年,再过 4 年就是 1900 年,1900 怎么就不是闰年了?其实这个困惑在我上小学时候就有了。

原理

一年的时间(地球绕太阳公转周期),精确到秒(天文观测)是:

365天5小时48分45.5秒 = 365.24219328703703703(703的循环…)天

如果 4 年一闰,平均每年就是:365+1/4=365.25 天

再每 100 年不闰,平均每年就是:365+1/4-1/100 =365.24 天

再每400年一闰:365+1/4-1/100+1/400 =365.2425 天

再每3200年不闰:365+1/4-1/100+1/400-1/3200 =365.2421875 天

再每 172800年闰:365+1/4-1/100+1/400-1/3200+1/172800 =365.24219328703703703(703的循环…)天

终于逼近观测结果了,因而就有了闰年的种种规定,所以 1900 年很不幸被排除掉闰年的身份。

【End】

参考资料:https://www.zhihu.com/question/25388501/answer/433635665

上一篇:jQuery动态时钟


下一篇:2021-11-16