地球绕太阳转一年的时间是:365天5时48分46秒。如果一年只有365天,每年就少算了5个小时,所以每4年一闰。但是这样子还是少算了45分钟。如果每100年有25个闰年则将会少18时43分20秒。但这也比24小时少,所以这种方式也是不合适的。
若每年365天,每年就少算5小时48分46秒,100年就多出581小时16分40秒。若每100年中有25个闰年,则会有5*24=600小时。但是581小时16分40秒只够24个闰年(576个小时),于是安排每100年中有24个闰年。这样计算问题又来了,每一百年还是少算了5小时16分40秒,所以决定每400年加一个闰年,这样就比较接近实际情况。
所以就有了4年一闰,百年不闰,4百年再闰。
即:year%4==0&&year%100 != 0 || year%400 == 0;