[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