golang:パースした日付をJSTで取り扱う方法
golangで日付をJSTで取り扱うにはひと工夫必要です。
たとえば、日付をパースして使う場合です。
以下のような日付があったとします。
res := "2022年12月10日 19時09分56秒"
パースするために、レイアウトを用意します。
layout := "2006年01月02日 15時04分05秒"
これでtime.Parseすると、JSTで解釈されないんです。
t, _ := time.Parse(layout, value)
ということで、time.ParseInLocationを使用します。これを使用するためにtime.LoadLocationを使用してタイムゾーンを指定してあげる必要があります。
tokyo, _ := time.LoadLocation("Asia/Tokyo")
t, _ := time.ParseInLocation(layout, res, tokyo)