很多小伙伴对润年的判断有歧义:
比如:4年一润年,百年不润年 -->润年 :年份 % 4 == 0 && 年份 % 100 != 0;
400年再润年 -->润年 :年份 % 4 == 0;
(400一定是润年)
有些人会认为这是两个条件,必须同时满足,但这是不对的。这两个条件是只要满足一个就可以了。
可以这样理解:400年内就根据第一个条件判断是否是润年,但是400年后可以根据400年的倍数 判断,并且一定是润年。在400年到800年这个区间再去根据第一个条件判断是否 是润年,如此在400年倍数的区间就用第一个条件判断,否则就用400 整除判断。
比如:
2004 是闰年,但是不能被400整除,需要被4整除但不能被100整除。
2004 % 4 == 0; 2004 % 100 != 0 ;条件成立是润年;
2004 % 400 != 0 ; 条件不成立;
2000 是润年,但是能被400整除,同时可以被4整除,也可以被100整除。此时第一个条件不满足,因为被100整除了,所以需要400整除。
2000 % 4 == 0; 2000 % 100 == 0;条件不成立;
2000 % 400 == 0 ; 条件成立,是润年;