Check if two date objects are on the same day ignoring time in Java

Description

The following code shows how to check if two date objects are on the same day ignoring time.

Example


/*from  w  ww  .  jav  a2s.c  om*/
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Calendar;
import java.util.Date;
public class Main {
   public static void main(String[] argv){
        System.out.println(isSameDay(new Date(), new Date()));
   }
        
  public static boolean isSameDay(Date date1, Date date2) {
      if (date1 == null || date2 == null) {
          throw new IllegalArgumentException("The date must not be null");
      }
      Calendar cal1 = Calendar.getInstance();
      cal1.setTime(date1);
      Calendar cal2 = Calendar.getInstance();
      cal2.setTime(date2);
      return isSameDay(cal1, cal2);
  }
  public static boolean isSameDay(Calendar cal1, Calendar cal2) {
      if (cal1 == null || cal2 == null) {
          throw new IllegalArgumentException("The date must not be null");
      }
      return (cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA) &&
              cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
              cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR));
  }
}

The code above generates the following result.





















Home »
  Java Tutorial »
    Date »




Date Get
Date Set
Date Format
Date Compare
Date Convert
Date Calculation
Date Parse
Timezone