Golang关于MySQL 时区问题

参考:https://www.jianshu.com/p/030b880ecc5e
https://github.com/go-sql-driver/mysql

想要把 time.Time 直接存储入库,需要开启解析时间parseTime
db, err := sql.Open("mysql", "user:password@/dbname?charset=utf8mb4&parseTime=true")

golang 程序里 time.Time 为 2018-12-24 18:00:00 CST
转为 UTC 存储到 mysql 2018-12-24 10:00:00
golang 从 mysql 获取解析成 time.Time 为 2018-12-24 10:00:00 UTC

以上问题可以通过设置loc=Local解决
db, err := sql.Open("mysql", "user:password@/dbname?charset=utf8mb4&parseTime=true&loc=Local")

golang 程序里 time.Time 为 2018-12-24 18:00:00 CST
转为 UTC 存储到 mysql 2018-12-24 18:00:00
golang 从 mysql 获取解析成 time.Time 为 2018-12-24 18:00:00 CST

你可能感兴趣的:(Golang关于MySQL 时区问题)