投稿

日付のゾーンをutcからjstに変換

日付のゾーンをutcからjstに変換

日付のゾーンをutcからjstに変換

外部APIなどから受け取ったUTC基準の日時文字列を、日本時間(JST)表記に変換したいときに使う。time.Parseで文字列をUTCのtime.Timeに変換した後、time.FixedZoneでJSTのタイムゾーンを定義し、Inメソッドでそのタイムゾーンに変換する。

解決

  dtstr1 := "Wed Mar 18 00:41:11 +0000 2020"
  dt, _ := time.Parse("Mon Jan 02 15:04:05 -0700 2006", dtstr1)
  fmt.Println(dt) //2020-03-18 00:41:11 +0000 +0000
  jst := time.FixedZone("Asia/Tokyo", 9*60*60)
  nowJST := dt.In(jst)
  fmt.Println(nowJST) //2020-03-18 09:41:11 +0900 Asia/Tokyo