回答最终的JDK1.8版本.
有两个金额类 - Duration
和Period
.持续时间是基于时间的(nanos),Period是基于日期的(年/月/日).
可以通过两种方式之一轻松计算相同类型的两个临时对象之间的时间量(我更喜欢第一种):
long days = ChronoUnit.DAYS.between(start, end);
long days = start.until(end, ChronoUnit.DAYS);
Run Code Online (Sandbox Code Playgroud)
的Duration
相同类型的两个之间的时间对象可以被计算如下:
Duration d = Duration.between(start, end);
Run Code Online (Sandbox Code Playgroud)
的Period
之间的两个LocalDate
对象可被计算如下:
Period p = Period.between(start, end);
Run Code Online (Sandbox Code Playgroud)