【发布时间】:2022-06-16 20:06:18
【问题描述】:
在计算两个日期之间的差异后,我需要再次打印日期。
这是我尝试过的:
fun getRemainingTime(endTime: ZonedDateTime): Long {
val currentTime = ZonedDateTime.now(ZoneId.systemDefault())
return dateUtils.durationDifference(currentTime, endTime).toMillis()
}
但是当我再次尝试将其转换为如下所示的本地日期时,它以1970 开头。所以我需要计算出的实际日期。
LocalDateTime.ofInstant(Instant.ofEpochMilli(remainingDurationInMillis), ZoneId.systemDefault())
例如:2022-10-10 和 2022-10-12 的区别应该是2022-10-02
【问题讨论】:
-
对不起,这没有意义。假设您计算了一分钟的差异,所以得到了 60000 毫秒。这个数字并不表示任何计算出的实际日期,既不是 1970 年也不是 2022 年。
LocalDateTime表示一天中的日期和时间(不是那么有用),而不是金额的时间。为了您的不同,可以使用java.time.Duration。