java.time.Duration 是java8中引入的一个对象。这是一个用来寻找两个日期之间的微观时间信息的测量。
这个测量时间的单位是micro 和nano 秒。
这是一个有用的寻找各种日期和时间API类之间的周期。
这是一个不可变的类,一旦创建,我们不能改变它的值和线程安全类。
public final class Duration
implements TemporalAmount, Comparable, Serializable
这是一个使用以下方法将持续时间对象转换为其他单位的例子
- toNanos()
- toMillis()
- toMinutes()
- toHours()
- toDays()
我们已经看到getNanos() 方法,它与toNanos() 不同
getNanos() 总是返回小于秒的值
toNanos() 返回 Duration 对象的全纳秒。
import java.time.LocalDateTime;
public class Test {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.of(2017, 1, 1, 0, 0);
LocalDateTime dateTime1 = LocalDateTime.now();
System.out.println("Differnce in Nano seconds" + java.time.Duration.between(dateTime, dateTime1).getNano());
System.out.println("Differnce in Milli seconds" + java.time.Duration.between(dateTime, dateTime1).toMillis());
System.out.println("Differnce in seconds" + java.time.Duration.between(dateTime, dateTime1).getSeconds());
System.out.println("Differnce in minutes" + java.time.Duration.between(dateTime, dateTime1).toMinutes());
System.out.println("Differnce in hours" + java.time.Duration.between(dateTime, dateTime1).toHours());
}
}
输出
Differnce in Nano seconds644942100
Differnce in Milli seconds52185645644
Differnce in seconds52185645
Differnce in minutes869760
Differnce in hours14496
如何在java8中为持续时间添加/减去小时/分钟/秒?
Duration类提供了各种方法来增加/减少纳米、毫、秒、分和天:
- plusNanos()
- plusMillis()
- plusSeconds()
- plusMinutes()
- plusHours()
- plusDays()
- minusNanos()
- minusMillis()
- minusSeconds()
- minusMinutes()
- minusHours()
- minusDays()
请看下面的方法用法和例子
import java.time.Duration;
import java.time.LocalTime;
public class Test {
public static void main(String[] args) {
Duration duration = Duration.between(LocalTime.MIDNIGHT,LocalTime.NOON);
System.out.println(duration.getSeconds());
duration = duration.plusSeconds(400);
System.out.println(duration.getSeconds());
duration = duration.minusSeconds(400);
System.out.println(duration.getSeconds());
}
}
输出
43200
43600
43200
总结
在本教程中,学习了java.time.Duration类在java8中的使用方法,并讨论了实例