I use the java Duration between method to calcul a duration between to a LocalTime and LocalDateTime it's work when I put the localTime as the first argument of the method but when I reversed the order it gave an exception DateTimeException :
This work fine :
LocalTime t1 = LocalTime.now();
LocalDateTime t2 = LocalDateTime.now();
System.out.println(Duration.between(t1, t2));
When I reversed the agrs it gave me an exception :
LocalTime t1 = LocalTime.now();
LocalDateTime t2 = LocalDateTime.now();
System.out.println(Duration.between(t2, t1));
Exception in thread "main" java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: 16:32:18.553 of type java.time.LocalTime
can someone explain why I get this exception thanks for any help :=)
From the docs: Duration between
If the objects are of different types, then the duration is calculated based on the type of the first object. For example, if the first argument is a LocalTime then the second argument is converted to a LocalTime.
So basically, the error is thrown because you can't cast a LocalTime object into a LocalDateTime, the date information is not included in the LocalTime.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With