/ / Java odjąć LocalTime - java, localtime

Java odjąć LocalTime - java, localtime

mam dwa LocalTime obiekty:

LocalTime l1 = LocalTime.parse("02:53:40");
LocalTime l2 = LocalTime.parse("02:54:27");

Jak mogę znaleźć różne w minutach między nimi?

Odpowiedzi:

20 dla odpowiedzi nr 1

Posługiwać się until lub between, zgodnie z opisem w 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));
}
}

0
0


18 dla odpowiedzi nr 2

Od wersji Java 8 możesz korzystać Duration klasa. Myślę, że daje to najbardziej eleganckie rozwiązanie:

long elapsedMinutes = Duration.between(l1, l2).toMinutes();

5 dla odpowiedzi nr 3

Robię to z ChronoUnit

long minutesBetween = ChronoUnit.MINUTES.between(l1,l2);

Przykład

    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);

Wydajność

Diffrence between time in munutes : 5

0 dla odpowiedzi nr 4

Możesz to zrobić:

long dif = Math.abs (l1.getLocalMillis () - l2.getLocalMillis ());
TimeUnit.MINUTES.convert (dif, TimeUnit.MILLISECONDS);