エポック秒とタイムゾーンを指定して日付を取得する。
// 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]
※ ロンドンやLAはサマータイム中なので1時間の差がある
Top comments (0)