Java subtract LocalTime

2019-02-16 04:54发布

I have two LocalTime objects:

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

How can I found different in minutes between them?

4条回答
Root(大扎)
2楼-- · 2019-02-16 05:36

Since Java 8 you can use Duration class. I think that gives the most elegant solution:

long elapsedMinutes = Duration.between(l1, l2).toMinutes();
查看更多
混吃等死
3楼-- · 2019-02-16 05:37

Use until or between, as described by the 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

查看更多
淡お忘
4楼-- · 2019-02-16 05:51

You could do this:

long dif = Math.abs (l1.getLocalMillis () - l2.getLocalMillis ());
TimeUnit.MINUTES.convert (dif, TimeUnit.MILLISECONDS);
查看更多
在下西门庆
5楼-- · 2019-02-16 05:52

I do this with ChronoUnit

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

Example

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

Output

Diffrence between time in munutes : 5
查看更多
登录 后发表回答