Hours between two dates

This example shows how to find the number of hours between two dates using Java 8 date time api and Joda time. We will set the start date by subtracting 1 day from the current date and the end date to today. Then we will find the number of hours between the start date and end date which equates to 24 hours.

Java 8 Date and Time API

This snippet will find how many hours are between two dates using java 8 Duration.between and ChronoUnit.HOURS.between. Both approaches will calculate the amount of time between two temporal objects in the form of hours.

@Test
public void hours_between_two_dates_in_java_with_java8 () {

    LocalDateTime startDate = LocalDateTime.now().minusDays(1);
    LocalDateTime endDate = LocalDateTime.now();

    long numberOfHours = Duration.between(startDate, endDate).toHours();
    assertEquals(24, numberOfHours);

    // or

    long numberOfHours2 = ChronoUnit.HOURS.between(startDate, endDate);
    assertEquals(24, numberOfHours2);
}

Joda Time

Using joda, this snippet will calculate number of hours between two dates using Hours.hoursBetween.

@Test
public void hours_between_two_dates_in_java_with_joda () {

    // start day is 1 day in the past
    DateTime startDate = new DateTime().minusDays(1);
    DateTime endDate = new DateTime();

    Hours hours = Hours.hoursBetween(startDate, endDate);
    int numberOfHours = hours.getHours();

    assertEquals(24, numberOfHours);
}