欢迎访问宙启技术站
智能推送

Java函数如何实现输入日期字符串判断是否为闰年?

发布时间:2023-06-30 18:48:38

在Java中,我们可以通过编写一个函数来判断输入的日期字符串是否为闰年。以下是一个简单的实现方法:

public static boolean isLeapYear(String dateString) {
    // 解析日期字符串
    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    LocalDate date = LocalDate.parse(dateString, dateFormat);

    // 判断年份是否为闰年
    int year = date.getYear();
    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
        return true;
    } else {
        return false;
    }
}

首先,我们使用DateTimeFormatter类中的ofPattern方法创建一个日期格式模板"yyyy-MM-dd"来解析输入的日期字符串。然后,使用LocalDate.parse方法将日期字符串解析为LocalDate对象date

接下来,我们需要判断date对象所表示的年份是否为闰年。根据闰年的定义,如果一个年份可以被4整除但不能被100整除,或者可以被400整除,那么这个年份就是闰年。我们使用取模运算符%来判断年份是否满足这两个条件,如果满足,则返回true,否则返回false

在主程序中,你可以调用这个函数,并传入一个日期字符串来进行测试。例如:

public static void main(String[] args) {
    String dateString = "2020-01-01";
    boolean isLeapYear = isLeapYear(dateString);
    
    if (isLeapYear) {
        System.out.println(dateString + " is a leap year.");
    } else {
         System.out.println(dateString + " is not a leap year.");
    }
}

这样,程序就会根据输入的日期字符串判断是否为闰年,并输出对应的结果。

需要注意的是,在这个实现中我们假设输入的日期字符串格式为"yyyy-MM-dd",如果实际输入的日期格式不匹配,将会抛出DateTimeParseException异常。你可以根据实际情况对函数进行修改以适应不同的日期格式。