とりあえず書いときますか。
振り返るためのメモを残す場所
golang:パースした日付をJSTで取り扱う方法

golangで日付をJSTで取り扱うにはひと工夫必要です。

例えば、日付をパースして使う場合です。

以下のような日付があったとします。

1
res := "2022年12月10日 19時09分56秒"

パースするために、レイアウトを用意します。

1
	layout := "2006年01月02日 15時04分05秒"

これでtime.Parseすると、JSTで解釈されないんです。

1
t, _ := time.Parse(layout, value)

ということで、time.ParseInLocationを使用します。これを使用するためにtime.LoadLocationを使用してタイムゾーンを指定してあげる必要があります。

1
2
3
	tokyo, _ := time.LoadLocation("Asia/Tokyo")

	t, _ := time.ParseInLocation(layout, res, tokyo)