Java - Как рассчитать високосный год

Java - Как рассчитать високосный год

Високосный год - это год, содержащий один дополнительный день (366 дней в году). Просмотрите алгоритм високосного года:

if year is divisible by 400 then
   is_leap_year
else if year is divisible by 100 then
   not_leap_year
else if year is divisible by 4 then
   is_leap_year
else
   not_leap_year

P.S Algorithm from wikipedia leap year.

1. Пример високосного года на Java

Пример Java, чтобы определить, является ли данный год високосным.

DateTimeExample.java

package com.example.utils;

public class DateTimeExample {

    public static void main(String[] args) {

    DateTimeExample obj = new DateTimeExample();
    System.out.println("1993 is a leap year : " + obj.isLeapYear(1993));
    System.out.println("1996 is a leap year : " + obj.isLeapYear(1996));
    System.out.println("2012 is a leap year : " + obj.isLeapYear(2012));

    }

    public boolean isLeapYear(int year) {

    if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) {
        return true;
    } else {
        return false;
    }
    }

}

Выход

1993 is a leap year : false
1996 is a leap year : true
2012 is a leap year : true

2. Пример GregorianCalendar

В качестве альтернативы вы можете использовать APIGregorianCalendar.isLeapYear().

    import java.util.GregorianCalendar;

    //...
    public boolean isLeapYear(int year) {

    GregorianCalendar cal = (
        GregorianCalendar) GregorianCalendar.getInstance();

    return cal.isLeapYear(year);
    }
Related