Java Data Type How to - Calculate the Difference Between Two Date Instances








Question

We would like to know how to calculate the Difference Between Two Date Instances.

Answer

import java.util.Calendar;
import java.util.Date;
/*  w w  w  .j  a  va2s . c  o  m*/
public class Main {
  public static void main(String[] args) {
    Date date1 = new Date(2009, 01, 10);
    Date date2 = new Date(2015, 07, 01);
    Calendar calendar1 = Calendar.getInstance();
    Calendar calendar2 = Calendar.getInstance();
    calendar1.setTime(date1);
    calendar2.setTime(date2);
    long milliseconds1 = calendar1.getTimeInMillis();
    long milliseconds2 = calendar2.getTimeInMillis();
    long diff = milliseconds2 - milliseconds1;
    long diffSeconds = diff / 1000;
    long diffMinutes = diff / (60 * 1000);
    long diffHours = diff / (60 * 60 * 1000);
    long diffDays = diff / (24 * 60 * 60 * 1000);
    System.out.println("\nThe Date Different Example");
    System.out.println("Time in milliseconds: " + diff + " milliseconds.");
    System.out.println("Time in seconds: " + diffSeconds + " seconds.");
    System.out.println("Time in minutes: " + diffMinutes + " minutes.");
    System.out.println("Time in hours: " + diffHours + " hours.");
    System.out.println("Time in days: " + diffDays + " days.");
  }
}

The code above generates the following result.