学习使用不同的 Java 日期时间类来检查给定年份是否为闰年。
闰年是:
给定示例使用 LocalDate.isLeapYear() 和 Year.isLeap() 方法来确定与给定实例关联的年份是否为闰年。我们可以使用 ZonedDateTime 调用类似的方法,LocalDateTime 类。
我们可以使用 now()
方法获取当前日期实例,这将有助于检查当前年份是否为闰年。
LocalDate localDate = LocalDate.now();
boolean isLeapYear = localDate.isLeapYear(); //true or false
//or
boolean isLeapYear = Year.now().isLeap();
在遗留 Java API 中,处理日期和时间的主要类是 Date、
Calendar
和 GregorianCalendar
。要确定闰年,我们有两种方法:
无论我们使用什么方法,我们都必须从任何给定的日期或日历实例中提取年份值,然后使用上述任何方法。
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class Main
{
public static void main(String[] args)
{
// 1. Calendar
Calendar cal = Calendar.getInstance();
System.out.println( isLeapYear(cal.get(Calendar.YEAR)) );
//2. Date
Date date = new Date();
System.out.println( isLeapYear(date.getYear()) );
//3. GregorianCalendar
GregorianCalendar gc = new GregorianCalendar();
System.out.println( gc.isLeapYear(gc.get(GregorianCalendar.YEAR)) );
}
private static boolean isLeapYear(int year)
{
//1583 was the first year of the Gregorian Calendar
assert year >= 1583;
return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}
}
快乐学习!!
地址:https://www.cundage.com/article/check-leap-year.html