1. 问题:
我们在使用beego连接数据库的时候,会用到数据库中自带的时间类型Date,DateTime等。当我们在程序中对数据储存的时候,会遇到存入数据库的时间会比程序中的时间早八个小时,导致程序出错
Date time.Time `orm:"column(date)" description:"日期" json:"date"`
2. 原因:
可在数据库中输入:
show variables like '%time_zone%';
如果显示数据库时区为CST则代表不是中国的时间(东八区)
所以存入的时间会自动向前调整8小时
3. 解决方案:
在beego项目中的initialize中的mysql.go下,修改对数据库的初始化:
//"root:root@tcp(127.0.0.1:3306)/test" 数据库连接信息后面添加参数"&loc=Local"即可
root:root@tcp(127.0.0.1:12581)/custom_table?charset=utf8&loc=Local
添加local时区就可以把时间设置调回来啦!