簡體   English   中英

Java:使用LocalDateTime和ChronoUnit的時間差(以毫秒為單位)

[英]Java: time difference in milliseconds using LocalDateTime and ChronoUnit

我想計算兩個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)

但是,diff的值不是2,正如我所料,但是0.正在發生什么?

我認為那里的最后一個參數實際上是納秒: 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);

產量:

2

我認為既然你在比較millis,那么差異正在向下舍入。

LocalDateTime.of的第七個參數是納秒,而不是毫秒。 您的時間相差.000002毫秒,或零到最近的long

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM