说明:
平年有365天,闰年有366天。闰年是指比平年多一天的年份,太阳运行周期为365天5小时48分46秒(合365.24219天),比公历平年短约0.2422天,因此每四年在2月末加1天,使当年的时间长度变为366天,这一年就是闰年。在公历(格里历)纪年中,有闰日的年份叫闰年,一般的年份365天,而闰年一年为366天。太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天。 而余下的时间每过四年累计约一天,这一天被加在二月里,所以平年每年365天,二月为28天,闰年为366天,多加了一天的二月为29天。
闰年月份相关:闰年1月~12月分别为31天、29天、31天、30天、31天、30天、31天、31天、30天、31天、30天、31天。 凡阳历中有闰日(2月29日)的年份,闰余(岁余置闰。阴历每年与回归年相比所差的时日)。
注意闰年(公历中的名词)和闰月(农历中的名词)并没有直接的关联,公历只分闰年和平年,平年有365天,闰年有366天(2月中多一天);平年中也可能有闰月(如2017年是平年,农历有闰月,闰六月)。
/**
* 判断 闰年 平年
* @author xiaojian
* @date 2023-04-27 18:20:50
*/
public class LeapYear {
public static void main(String[] args) {
int year = 1998; // 待判断的年份
boolean isLeapYear = isLeapYear(year); // 调用 isLeapYear 方法进行判断
if (isLeapYear) {
System.out.println(year + " 是闰年。");//定义自己要执行业务逻辑
} else {
System.out.println(year + " 不是闰年。");//定义自己要执行业务逻辑
}
}
public static boolean isLeapYear(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0) {
return true; // 满足以下三种情况之一即为闰年:能被4整除但不能被100整除、能被400整除、能被4整除但能被100整除
} else {
return false; // 不满足以上三种情况的即为平年
}
} else {
return true; // 能被4整除但不能被100整除的即为闰年
}
} else {
return false; // 不满足以上两种情况的即为平年
}
}
}
结果集
总结:
在上述代码中,isLeapYear
方法用于判断给定的年份是否为闰年。如果该年份能被 4 整除但不能被 100 整除,则该年份为闰年;否则,该年份为平年。
main
方法中,我们先定义了一个待判断的年份 year
,然后调用 isLeapYear
方法进行判断。最后根据判断结果输出相应的信息。
需要注意的是,闰年的判断规则是:能被 4 整除但不能被 100 整除的年份是闰年;能被 4 整除但能被 100 整除的年份不是闰年;不能被 4 整除的年份是平年。因此,在 isLeapYear
方法中,我们使用了三个嵌套的 if 语句来实现这一判断规则。