Mam dwa LocalTime
obiekty:Java odjąć Localtime
LocalTime l1 = LocalTime.parse("02:53:40");
LocalTime l2 = LocalTime.parse("02:54:27");
Jak mogę znaleźć inny w minutach między nimi?
Mam dwa LocalTime
obiekty:Java odjąć Localtime
LocalTime l1 = LocalTime.parse("02:53:40");
LocalTime l2 = LocalTime.parse("02:54:27");
Jak mogę znaleźć inny w minutach między nimi?
Zastosowanie until
lub between
, jak opisana przez api
import java.time.LocalTime;
import static java.time.temporal.ChronoUnit.MINUTES;
public class SO {
public static void main(String[] args) {
LocalTime l1 = LocalTime.parse("02:53:40");
LocalTime l2 = LocalTime.parse("02:54:27");
System.out.println(l1.until(l2, MINUTES));
System.out.println(MINUTES.between(l1, l2));
}
}
Można to zrobić:
long dif = Math.abs (l1.getLocalMillis() - l2.getLocalMillis());
TimeUnit.MINUTES.convert (dif, TimeUnit.MILLISECONDS);
zrobić to zChronoUnit
long minutesBetween = ChronoUnit.MINUTES.between(l1,l2);
przykładu
LocalTime localTime=LocalTime.now();
LocalTime localTimeAfter5Minutes=LocalTime.now().plusMinutes(5);
Long minutesBetween=ChronoUnit.MINUTES.between(localTime,localTimeAfter5Minutes);
System.out.println("Diffrence between time in munutes : "+minutesBetween);
wyjściowa
Diffrence between time in munutes : 5
Ponieważ Java 8 można wykorzystać Duration
klasę. Myślę, że daje to najbardziej eleganckie rozwiązanie:
long elapsedMinutes = Duration.between(l1, l2).toMinutes();
Nie sądzę, że powinniśmy obliczyć już w millis dzięki nowemu interfejsowi API Data/Czas – keuleJ