在JDK 7中使用ZonedDateTime和ChronoUnit的替代方法

时间:2016-06-28 06:43:43

标签: java java-8 java-7

我使用 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的一部分,似乎存在问题。

1 个答案:

答案 0 :(得分:4)

回到端口

大部分java.time功能都被反向移植到Java 6& ThreeTen-Backport项目中的7,并在ThreeTenABP项目中进一步适应Android。

顺便说一下,如问题的示例代码中所示,不需要除以1,000。如果您想要在一对ZonedDateTime个对象之间计算完整秒数,请将ChronoUnit.SECONDS指定为TemporalUnit

long secondsElapsed = start.until( stop , ChronoUnit.SECONDS );