mysql中的时间和go中的时间相差8h怎么办? - Go语言中文社区

mysql中的时间和go中的时间相差8h怎么办?


只需在连接数据库时加上:&loc=Local

db, err := sql.Open("mysql", "root:123456@/twiter_scheme?charset=utf8&loc=Local")

即可解决。

别用下面的方法哈:

首先你改了时区,弄的数据库insert 0000

shanghaiZone, _ := time.LoadLocation("Asia/Shanghai")
createAt := time.Now().String()
createAtLocal, _ := time.ParseInLocation("2006-01-02 15:04:05", createAt, shanghaiZone)
然后你又改了

# 查看当前sql_mode
select @@sql_mode;
# 查看全局sql_mode
select @@global.sql_mode;

# 修改全局
set @@global.sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
# 修改当前
set @@sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

这些都没啥用直接添加&loc=Local就行了

参考文章:

初学 GoLang 遇到的一个关于时间的坑... | Go 技术论坛

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qqqweiweiqq/article/details/124879101
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-04 21:29:01
  • 阅读 ( 183 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢