我遇到的问题是找到一种优雅的方法从一个LocalTime
减去另一个LocalTime difference = now - before;
,但不是几秒或几分钟,但只是这样:
LocalTime
显然这不起作用,所以实际上,我所追求的是两个00:01:42:519
00:02:13:217
00:00:30:698
的东西,然后给我一个,所以我可以做到以下几点:
long seconds = before.until(now, ChronoUnit.SECONDS);
我尝试了以下内容:
long millis = before.until(now, ChronoUnit.MILLIS);
long seconds = before.until(now, ChronoUnit.SECONDS);
long minutes = before.until(now, ChronoUnit.MINUTES);
long hours = before.until(now, ChronoUnit.HOURS);
但很明显,这只会让我得到秒,好吧,所以我把它改成了:
Error null value in entry: fakeOutputDirectory = null
但后来我意识到它只计算指定单位的整个时间变化,而不仅仅是单位对变化的“贡献”,如果你明白我的意思。
PS:我已经扫描了几个问题的SO,它们似乎是一样的,只是以一个单一的单位给出了整个差异。如果这是重复的,请指出我正确的方向!有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
读取LocalTime#的JavaDoc直到(),我找到了这个解决方案:
long differenceMillis = MILLIS.between(before, now);
答案 2 :(得分:0)
Instant start = Instant.now();
//your lengthy code here
Instant end = Instant.now();
long nanoDiff = end.getNano() - start.getNano();
为什么我发布这个答案? B / c您可以使用Instant课程,并获得多种不同的格式作为您问题的答案......