我想计算两个LocalDateTime对象之间的时间差(以毫秒为单位):
LocalDateTime startDate = LocalDateTime.of(2017, 11, 22, 21, 30, 30, 250);
LocalDateTime endDate = LocalDateTime.of(2017, 11, 22, 21, 30, 30, 252);
long diff = ChronoUnit.MILLIS.between(startDate, endDate)
Run Code Online (Sandbox Code Playgroud)
但是,diff的值不是2,正如我所料,但是0.正在发生什么?
Nic*_*zio 18
我认为那里的最后一个参数实际上是纳秒:https: //docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html#of-int-java.time.Month-int-int -诠释-INT-内部-
在我的情况下切换到nanos输出2的diff:
LocalDateTime startDate = LocalDateTime.of(2017, 11, 22, 21, 30, 30, 250);
LocalDateTime endDate = LocalDateTime.of(2017, 11, 22, 21, 30, 30, 252);
long diff = ChronoUnit.NANOS.between(startDate, endDate);
System.out.println(diff);
Run Code Online (Sandbox Code Playgroud)
产量:
2
Run Code Online (Sandbox Code Playgroud)
我认为既然你在比较millis,那么差异正在向下舍入.
| 归档时间: |
|
| 查看次数: |
4175 次 |
| 最近记录: |