/ / Java subtrair LocalTime - java, hora local

Java subtrair LocalTime - java, hora local

Eu tenho dois LocalTime objetos:

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

Como posso encontrar diferente em minutos entre eles?

Respostas:

20 para resposta № 1

Usar until ou between, conforme descrito pelo 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 para resposta № 2

Desde o Java 8 você pode usar Duration classe. Eu acho que dá a solução mais elegante:

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

5 para resposta № 3

Eu faço isso com ChronoUnit

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

Exemplo

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

Saída

Diffrence between time in munutes : 5

0 para a resposta № 4

Você poderia fazer isso:

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