如何将持续时间转换为秒?

Pri*_*te 3 java

    LocalDateTime start = LocalDateTime.of(2018, 9, 2, 14, 17, 25, 135);
    LocalDateTime end = LocalDateTime.of(2018, 9, 2, 14, 19, 59, 965);
    Duration duration = Duration.between(start, end);
Run Code Online (Sandbox Code Playgroud)

我需要获得这种格式的结果:2:34.830。

分钟和纳秒 - 没问题:

    System.out.println(duration.toMinutes());
    System.out.println(duration.toNanos());
Run Code Online (Sandbox Code Playgroud)

但我怎样才能从这个例子中获得秒数 - 34 秒?

Pan*_*hal 5

您正在寻找的是以下内容:

System.out.println(duration.getSeconds()%60);
Run Code Online (Sandbox Code Playgroud)

或者,

System.out.println(duration.getSeconds() - duration.toMinutes()*60);
Run Code Online (Sandbox Code Playgroud)

从 Java 9 开始,有一个专门的方法来处理这个toSecondsPart():

System.out.println(duration.toSecondsPart());
Run Code Online (Sandbox Code Playgroud)