Java日期 判断平年闰年

 说明:

       平年有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 语句来实现这一判断规则。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你才是臭弟弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值