LoginSignup
1
0

【Java、kotlin】UTC(文字列)からJST(文字列)に変換

Posted at

世界中どこでも一定なunix時間(UTCの1970/1/1からの経過時間)を噛ませて変換する。

Test.kt
/**
 * UTC(オフセット付)の文字列から、日本時間に変換する
 */
val utcStr = "2022-06-01T06:00:30Z"

val utcWithOffset = OffsetDateTime.parse(utcStr)
val unixtime = utcWithOffset.toEpochSecond()

// オフセット(+09:00 とか)も出したい場合
val jstWithOffset = OffsetDateTime.ofInstant(
    Instant.ofEpochSecond(unixtime),
    ZoneId.of("Asia/Tokyo")
).toString()
println(jstWithOffset) // 2022-06-01T15:00+09:00

// オフセットはいらない場合
val jst = LocalDateTime.ofInstant(
    Instant.ofEpochSecond(unixtime),
    ZoneId.of("Asia/Tokyo")
).toString()
println(jst) // 2022-06-01T15:00:30

// タイムゾーン表記も出したい場合
val jstWithTimeZone = ZonedDateTime.ofInstant(
    Instant.ofEpochSecond(unixtime),
    ZoneId.of("Asia/Tokyo")
).toString()
println(jstWithTimeZone) // 2022-06-01T15:00:30+09:00[Asia/Tokyo]
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0