【发布时间】:2015-05-02 17:12:43
【问题描述】:
Java 8 的 LocalDateTime 有一个 ofEpochSecond 方法。不幸的是,ZonedDateTime 中没有这样的方法。现在,我有一个 Epoch 值和一个明确的 ZoneId 给出。我如何从中获得ZonedDateTime?
【问题讨论】:
标签: java java-8 epoch zoneddatetime
Java 8 的 LocalDateTime 有一个 ofEpochSecond 方法。不幸的是,ZonedDateTime 中没有这样的方法。现在,我有一个 Epoch 值和一个明确的 ZoneId 给出。我如何从中获得ZonedDateTime?
【问题讨论】:
标签: java java-8 epoch zoneddatetime
您应该可以通过Instant 类来执行此操作,它可以表示给定纪元时间的时刻。如果你有纪元秒,你可以通过类似的东西创建一些东西
Instant i = Instant.ofEpochSecond(t);
ZonedDateTime z = ZonedDateTime.ofInstant(i, zoneId);
【讨论】:
ZonedDateTime.ofInstant(i, ZoneOffset.UTC) UTC
Instant instant = Instant.ofEpochSecond(t); ZoneId zoneId = ZoneId.of("America/New_York"); ZonedDateTime z = ZonedDateTime.ofInstant(instant, zoneId); 用于特定的 ZoneId。