Java(Kotlin)でZoneIdを指定しUTCのDatetimeを得る

LocalDateTime.now()LocalDateTimeを得ることができるが、この値はシステムのデフォルトのタイムゾーンにしたがって生成される。意図的にUTCの値を得るには下記のようにしてZoneIdを指定することで可能。

val datetime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
datetime.format(LocalDateTime.now(ZoneId.of("UTC")))

デフォルトのZoneIdは下記のようにして得ることができる

ZoneId.systemDefault() // Asia/Tokyo

デフォルトのOffsetは下記のようにして得ることができる

ZoneId.systemDefault().rules.getOffset(LocalDateTime.now()) // +09:00

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA