[Go] time.Time 型のデータのタイムゾーンを変更する
            作成日: 2022年09月08日
          
          Time 構造体の In 関数を使用すると、レシーバーとなる構造体のタイムゾーンを引数に渡したタイムゾーンを保持した Time 構造体を生成することができます。
package main
import (
    "fmt"
    "time"
)
func main() {
    locationUTC, err := time.LoadLocation("UTC")
    if err != nil {
        panic("何らかのエラー処理")
    }
    t, err := time.ParseInLocation("2006-01-02 15:04:05", "2022-09-01 00:00:00", locationUTC)
    if err != nil {
        panic("何らかのエラー処理")
    }
    zoneName, _ := t.Zone()
    fmt.Println(zoneName)
    locationAsiaTokyo, err := time.LoadLocation("Asia/Tokyo")
    if err != nil {
        panic("何らかのエラー処理")
    }
    t = t.In(locationAsiaTokyo)
    zoneName, _ = t.Zone()
    fmt.Println(zoneName)
}
実行結果は下記のとおりです。
UTC
JST