Java如何找到两个时间之间的差值?

下面的代码片段向您展示了如何找到LocalTime类表示的两个时间对象之间的差异。要获得两个LocalTime对象之间的差异,我们可以使用持续时间.between()方法。这个方法返回一个Duration对象,为了得到以秒为单位的差异,我们调用getSeconds()方法。

这里是一个代码片段来演示它。

package org.nhooo.example.datetime;

import java.time.*;

public class TimeDifference {

    public static void main(String[] args) {

        LocalTime start = LocalTime.now();

        LocalTime end = LocalTime.of(16, 59, 55);

        Duration duration = Duration.between(start, end);

        System.out.printf("Seconds between %s and %s is: %s seconds.%n",

                start, end, duration.getSeconds());

        diffLocalDateTime();

        diffInstant();

    }

    /**

     * 两个 LocalDateTime 对象之间的差异。

     */

    public static void diffLocalDateTime() {

        LocalDateTime dt1 = LocalDateTime.now();

        LocalDateTime dt2 = LocalDateTime.now(ZoneId.of("GMT+0"));

        Duration duration = Duration.between(dt1, dt2);

        System.out.printf("Duration = %s seconds.%n", duration.getSeconds());

    }

    /**

     * 两个瞬间对象之间的区别。

     */

    public static void diffInstant() {

        Instant instant1 = Instant.now();

        Instant instant2 = Instant.EPOCH;

        Duration duration = Duration.between(instant1, instant2);

        System.out.printf("Duration = %s seconds.%n", duration.getSeconds());

    }

}

使用 Duration.between ()还可以获得两个 LocalDateTime 对象和两个 Instant 对象之间的差异,如上面代码片段中的 diffLocalDateTime ()方法和 diffInstant 方法所示。

代码段的结果:

Seconds between 16:58:15.863 and 16:59:55 is: 99 seconds.

Duration = -28800 seconds.

Duration = -1455181096 seconds.

                       

以上是 Java如何找到两个时间之间的差值? 的全部内容, 来源链接: utcz.com/z/334611.html

回到顶部