3

If I have a two Dates in Java (Android) (Date1 and Date2), how can I know if the Date2 is within the same day of the Date1? (Note: not if the Date2-Date1 < 24 hours). Some examples (suppousing same month and year)

 Date1: day=14 hour=00:00           Date2: day=14 hour=00:00    --> Result TRUE
 Date1: day=13 hour=23:59           Date2: day=14 hour=00:00    --> Result FALSE
 Date1: day=14 hour=05:00           Date2: day=14 hour=00:00    --> Result TRUE
 Date1: day=14 hour=00:00           Date2: day=15 hour=00:00    --> Result FALSE

Thanks

Addev
  • 31,819
  • 51
  • 183
  • 302

2 Answers2

11

Why don't you use DateUtils?

You can directly invoke methods like isSameDay

if (DateUtils.isSameDay(date1, date2)) {
    System.out.println("Same Date");
} else if (date1.before(date2)) {
    System.out.println("date1 before date2");
} else {
    System.out.println("date1 after date2");
}

Check Apache DateUtils.

Arif Nadeem
  • 8,524
  • 7
  • 47
  • 78
4

I copied this from Java: comparing two Dates to see if they are in the same day

Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
boolean sameDay = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
                  cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR);
Community
  • 1
  • 1
Sam
  • 86,580
  • 20
  • 181
  • 179