Wednesday, 5 February 2014

Java – How To Calculate Leap Year

A leap year is a year containing one additional day (366 days a year). Review the leap year algorithm :
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 Leap Year Example

Java example to determine if the given year is a leap year.
DateTimeExample.java
package com.naresh.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;
 }
    }
 
}
Output
1993 is a leap year : false
1996 is a leap year : true
2012 is a leap year : true

2. GregorianCalendar Example

Alternatively, you can use GregorianCalendar.isLeapYear() API.
    import java.util.GregorianCalendar;
 
    //...
    public boolean isLeapYear(int year) {
 
 GregorianCalendar cal = (
  GregorianCalendar) GregorianCalendar.getInstance();
 
 return cal.isLeapYear(year);
    }

No comments:

Post a Comment