我使用 JDK 8 类ChronoUnit和ZonedDateTime
编写了这行代码 // if no timestamp was present, calculate difference between last and this date
timestamp = pos.getFirstDateStamp().until(datestamp, ChronoUnit.MILLIS) / (double) 1000;
但是,该分支正在使用JDK 7编译,因此我遇到了问题,我想知道这些替换类。
我确实尝试TimeUnit.MILLISECONDS
,但until()
是ZonedDateTime
的一部分,似乎存在问题。
答案 0 :(得分:4)
大部分java.time功能都被反向移植到Java 6& ThreeTen-Backport项目中的7,并在ThreeTenABP项目中进一步适应Android。
顺便说一下,如问题的示例代码中所示,不需要除以1,000。如果您想要在一对ZonedDateTime
个对象之间计算完整秒数,请将ChronoUnit.SECONDS
指定为TemporalUnit
。
long secondsElapsed = start.until( stop , ChronoUnit.SECONDS );