Java减去LocalTime

我有两个LocalTime对象:

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

我怎么能在它们之间找到不同的分钟数?

使用untilbetween ,如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

从Java 8开始,您可以使用Duration类。 我认为这给出了最优雅的解决方案:

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

我用 ChronoUnit 这样做

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

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

产量

 Diffrence between time in munutes : 5 

你可以这样做:

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