java get difference between two dates code example
Example 1: find difference in days between two dates java
String dateStart = "01/14/2015 08:29:58";
String dateStop = "01/15/2015 11:31:48";
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date d1 = null;
Date d2 = null;
d1 = format.parse(dateStart);
d2 = format.parse(dateStop);
long diff = d2.getTime() - d1.getTime();
long diffSeconds = diff / 1000 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.print(diffDays + " days, ");
System.out.print(diffHours + " hours, ");
System.out.print(diffMinutes + " minutes, ");
System.out.print(diffSeconds + " seconds.");
Example 2: calculate days between two dates in java
import java.util.Date;
import java.text.SimpleDateFormat;
class Example{
public static void main(String args[]){
SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
String dateBeforeString = "31 01 2014";
String dateAfterString = "02 02 2014";
try {
Date dateBefore = myFormat.parse(dateBeforeString);
Date dateAfter = myFormat.parse(dateAfterString);
long difference = dateAfter.getTime() - dateBefore.getTime();
float daysBetween = (difference / (1000*60*60*24));
System.out.println("Number of Days between dates: "+daysBetween);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Example 3: date difference in minutes java
long diff = d2.getTime() - d1.getTime();
long seconds = TimeUnit.MILLISECONDS.toSeconds(diff);
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
Example 4: java get number of months between two dates
LocalDate currentDay = LocalDate.of(1955, Month.MAY, 19);
LocalDate desiredDay = LocalDate.now();
Period age = Period.between(currentDay, desiredDay);
int years = age.getYears();
int months = age.getMonths();
int numberOfMonthsBetweenDates = months+years*12;
Example 5: java localdate subtract two dates
@Test
public void givenTwoDatesInJava8_whenDifferentiating_thenWeGetSix() {
LocalDate now = LocalDate.now();
LocalDate sixDaysBehind = now.minusDays(6);
Period period = Period.between(now, sixDaysBehind);
int diff = period.getDays();
assertEquals(diff, 6);
}