小时候学的四年一闰年,一直以为闰年就这样算。直到上大学敲代码才发现并不是这样。。。。。
普通闰年:同时被4整除,不被100整除的是闰年 如:2024是闰年(普通闰年:四和百之间进行与运算)
世纪闰年:被400整除的 如:2000是闰年(2000年普通闰年算法也是闰年,1600普通闰年算法就不是闰年了,但世纪闰年算法是闰年)
先把被判断的年份分别用两种算法进行运算,然后两个算法之间再进行或运算,其中一个运算结果是闰年,就是闰年
口诀:四和百闰,四百独闰,两取一闰
if ((year % 4 === 0 && year % 100 != 0) || year % 400 === 0)
特殊:被3200整除的不是闰年,被172800整除的是闰年,不过一般很少拿这么大的年份运算
JS代码如下:
<script>
let year = +prompt('请输入年:');
if ((year % 4 === 0 && year % 100 != 0) || year % 400 === 0) {
document.write(`${year}是闰年`);
} else {
document.write(`${year}不是闰年`);
}
</script>
粗缯大布裹生涯,腹有诗书气自华。
-苏轼《和董传留别》