Search code examples
javajava-8epochzoneddatetime

Java 8: How to create a ZonedDateTime from an Epoch value?


Java 8's LocalDateTime has an ofEpochSecond method. Unfortunately, there is no such method in the ZonedDateTime. Now, I have an Epoch value and an explicit ZoneId given. How do I get a ZonedDateTime out of these?


Solution

  • You should be able to do this via the Instant class, which can represent a moment given the epoch time. If you have epoch seconds, you might create something via something like

    Instant i = Instant.ofEpochSecond(t);
    ZonedDateTime z = ZonedDateTime.ofInstant(i, zoneId);