DEV Community

Kentama7
Kentama7

Posted on

エポック秒から指定されたタイムゾーンの日付を取得する

エポック秒とタイムゾーンを指定して日付を取得する。

// 2017/10/01 00:00:00 のエポック秒
Instant instant = Instant.ofEpochSecond(1506816000L);

ZonedDateTime tokyo = ZonedDateTime.ofInstant(instant, ZoneId.of("Asia/Tokyo"));
System.out.println(tokyo); // 2017-10-01T09:00+09:00[Asia/Tokyo]

ZonedDateTime utc = ZonedDateTime.ofInstant(instant, ZoneId.of("UTC"));
System.out.println(utc); // 2017-10-01T00:00Z[UTC]

ZonedDateTime london = ZonedDateTime.ofInstant(instant, ZoneId.of("Europe/London"));
System.out.println(london); // 2017-10-01T01:00+01:00[Europe/London]

ZonedDateTime la = ZonedDateTime.ofInstant(instant, ZoneId.of("America/Los_Angeles"));
System.out.println(la); // 2017-09-30T17:00-07:00[America/Los_Angeles]
Enter fullscreen mode Exit fullscreen mode

※ ロンドンやLAはサマータイム中なので1時間の差がある

Top comments (0)