请教疑是xorm时区的问题
我系统设置的时区是+8 CST ;Mysql时区与系统一样。碰到问题是这样:
Revel+Xorm, time.Now() 往数据库里写进去的时间正常,但一读出来就自动给我+8小时,不知道需要在哪里设置一下吗?Xorm某个参数?谢谢!
我系统设置的时区是+8 CST ;Mysql时区与系统一样。碰到问题是这样:
Revel+Xorm, time.Now() 往数据库里写进去的时间正常,但一读出来就自动给我+8小时,不知道需要在哪里设置一下吗?Xorm某个参数?谢谢!
共 10 个回复
yufeng
你这样试试
yue
谢谢@yufeng ,我用 time.Now()和 time.Now().Local()得到的时间、以及写进数据库后的时间都正确。就是用Xorm engine.Where…Get 读出来后,时间加了8小时,感觉XORM是按照UTC 时间来处理的,检查我的系统Ubuntu15.04 和Mysql都是本地时区,不知道哪里出了问题。
@xiaolunwen 大神什么时候能在线呢?请帮忙分析下呀,谢谢了!
yue
改成UTC时间后正常,但不是本地时间啊
dxb350352
@yue我也出现了这样的问题,求解!!!!!!!!!!
coldstar
我看了看gogs中也是hack了一下,算了临时使用我也hack一下吧,多了8小时去掉就好了嘛
xiaolunwen
xorm默认使用的时区是time.Local()就是服务器本地时区。这个参数可以通过
engine.TZLocation, _ = time.LoadLocation('Asia/Shanghai')
来改变。不过如果都是Local按理应该没有问题,如果出现了问题可能是bug,可以到 github.com/go-xorm/xorm 提交个issue。另外你可以尝试更新下最新版本,也许已经解决了你的问题。xiaolunwen
不好意思,好久没上论坛了。一般在QQ群里面。
xiao_feng_shu_yu
xorm.NewEngine()
中dataSourceName
是什么,如果加了parseTime=true
就会出现你的情况tupunco
配置
parseTime=true&loc=Local
, 具体说明请查看这里 beego_时区设置franknova