Do you need help with your Java programming?
Click here for instant help with your Java code.
How to Compute the Difference Between Two Dates in Java
This example shows how to compute the difference between two dates. It shows how to compute the difference between the dates in days, hours, minutes, seconds and even milliseconds.
We use the Calendar class to create two instances and set the respective dates on each of them.
In the example we set the date January 1, 2020 as the first date and March 1, 2020 as the second date.
Just to make sure we got it right (remember that the month field in Calendar and Date object are zero based, meaning that January = 0) we print them out using a SimpleDateFormat instance to make them readable.
To compute the difference in milliseconds we call the method getTimeInMillis() on the Calendar class. The millisecond-difference is then used to compute every other unit in the example.
Immediately after each calculation the result is printed out to console.
public class Main
public static void main(String args)
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
// Set the date for both of the calendar instance
c1.set(2020, 0, 1);
c2.set(2020, 2, 1);
// Print out the dates
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("Date 1: " + sdf.format(c1.getTime()));
System.out.println("Date 2: " + sdf.format(c2.getTime()));
// Get the represented date in milliseconds
long time1 = c1.getTimeInMillis();
long time2 = c2.getTimeInMillis();
// Calculate difference in milliseconds
long diff = time2 - time1;
// Difference in seconds
long diffSec = diff 1000;
System.out.println("Difference in seconds " + diffSec);
// Difference in minutes
long diffMin = diff (60 * 1000);
System.out.println("Difference in minutes " + diffMin);
// Difference in hours
long diffHours = diff (60 * 60 * 1000);
System.out.println("Difference in hours " + diffHours);
// Difference in days
long diffDays = diff (24 * 60 * 60 * 1000);
System.out.println("Difference in days " + diffDays);
|The output from the above example would be:|
Date 1: 2020-01-01
Date 2: 2020-03-01
Difference in seconds 5184000
Difference in minutes 86400
Difference in hours 1440
Difference in days 60
|Do you know your Java?|
|Take a Ten-Question-Java-Quiz!|
Search for code examples on this site