web-dev-qa-db-ja.com

Java 8:エポック値からZonedDateTimeを作成する方法?

Java 8のLocalDateTimeにはofEpochSecondメソッドがあります。残念ながら、ZonedDateTimeにはそのようなメソッドはありません。これで、エポック値と明示的なZoneIdが指定されました。これらからZonedDateTimeを取得するにはどうすればよいですか?

47
rabejens

Instantクラスを介してこれを行うことができるはずです。これは、エポック時間を与えられた瞬間を表すことができます。エポック秒がある場合は、次のような方法で何かを作成できます

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