我有一个外部 API,它将日期返回为 long
s,表示为自纪元开始以来的毫秒数。
使用旧式 Java API,我只需从它构造一个 Date
Date myDate = new Date(startDateLong)
Java 8 的 LocalDate
/ LocalDateTime
类中的等价物是什么?
我有兴趣在我当前的本地时区将 long
表示的时间点转换为 LocalDate
。
原文由 Vihung 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您有自纪元以来的毫秒数,并希望使用当前本地时区将它们转换为本地日期,您可以使用
Instant.ofEpochMilli(long epochMilli)
但请记住,即使系统的默认时区也可能发生变化,因此相同的
long
值可能会在后续运行中产生不同的结果,即使在同一台机器上也是如此。此外,请记住
LocalDate
与java.util.Date
不同,它真正代表的是日期,而不是日期和时间。否则,您可以使用
LocalDateTime
: