Java - Write code to calculate day Difference between two Date values

Requirements

Write code to calculate day Difference between two Date values

Demo

import java.util.Calendar;
import java.util.Date;

public class Main {
  public static void main(String[] argv) {
    Date start = new Date();
    Date end = new Date();
    System.out.println(dayDiff(start, end));
  }//ww  w. ja  v  a 2s.  c o  m

  public static long dayDiff(Date start, Date end) {
    long day = compareDate(start, end);
    if (day == 0) {
      return 0;
    }
    if (day > 0) {
      return (day - 1) / 1000 / 60 / 60 / 24 + 1;
    } else {
      return (day + 1) / 1000 / 60 / 60 / 24 - 1;
    }

  }

  public static long compareDate(Date start, Date end) {
    long temp = 0;
    Calendar starts = Calendar.getInstance();
    Calendar ends = Calendar.getInstance();
    starts.setTime(start);
    ends.setTime(end);
    temp = ends.getTime().getTime() - starts.getTime().getTime();
    return temp;
  }
}

Related Exercise