長生村本郷Engineers'Blog

千葉県長生村本郷育ちのエンジニアが書いているブログ

go-sql-driver/mysqlでcreated_at (datetime) がUTCで登録されてしまう件

環境

結論

以下のように parseTime=trueloc=Asia%2FTokyoを設定する。

db, err := sql.Open("mysql", "user:passward@/dbname?parseTime=true&loc=Asia%2FTokyo")

loc=xxxxの指定がない場合、localが指定され、 datetimeにtime.Now()を指定してINSERTしても UTC時間に書き直されてしまう。

ちょっとハマりました。

f:id:kenzo0107:20150819234635g:plain