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