The following code snippet show you how to find the difference between two time objects represented by LocalTime
class. To get the difference between two LocalTime
objects we can use the Duration.between()
method. This method returns a Duration
object, to get the difference in seconds we call the getSeconds()
method.
Here a code snippet to demonstrate it.
package org.kodejava.datetime;
import java.time.*;
public class TimeDifference {
public static void main(String[] args) {
LocalTime start = LocalTime.now();
LocalTime end = LocalTime.of(16, 59, 55);
Duration duration = Duration.between(start, end);
System.out.printf("Seconds between %s and %s is: %s seconds.%n",
start, end, duration.getSeconds());
diffLocalDateTime();
diffInstant();
}
/**
* Difference between two LocalDateTime objects.
*/
public static void diffLocalDateTime() {
LocalDateTime dt1 = LocalDateTime.now();
LocalDateTime dt2 = LocalDateTime.now(ZoneId.of("GMT+0"));
Duration duration = Duration.between(dt1, dt2);
System.out.printf("Duration = %s seconds.%n", duration.getSeconds());
}
/**
* Difference between two Instant objects.
*/
public static void diffInstant() {
Instant instant1 = Instant.now();
Instant instant2 = Instant.EPOCH;
Duration duration = Duration.between(instant1, instant2);
System.out.printf("Duration = %s seconds.%n", duration.getSeconds());
}
}
Using the Duration.between()
we can also get the difference between two LocalDateTime
objects and two Instant
object as seen in the diffLocalDateTime()
method and diffInstant
method in the code snippet above.
The result of the code snippet:
Seconds between 15:05:35.401317900 and 16:59:55 is: 6859 seconds.
Duration = -28800 seconds.
Duration = -1637132736 seconds.
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024