Java减去LocalTime
我有两个LocalTime
对象:
LocalTime l1 = LocalTime.parse("02:53:40"); LocalTime l2 = LocalTime.parse("02:54:27");
我怎么能在它们之间找到不同的分钟数?
使用until
或between
,如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);