mysql设置了时区,但时间还是utc时间

  最近项目部署后,使用时发现某个时间字段保存的是utc时间,分享一下一步步排除的步骤。

  第一步前端:前端用的是vue和elementPlus的组件,使用了date-picker这个组件,发现提交的时间是utc,所以使用了moment库在提交之前做了转换,提交的是东八区的时间了,但是部署在服务器发现还是不行,排除前端的问题。

  第二步后端:使用的是go的gorm库进行数据库交互,百度都说dsn要加上loc=Local,看一下自己的代码发现已经加上了,排除后端的问题。

  第三步mysql:使用的是mysql8,查看了mysql8的时区,发现是cst时间,但是数据存储后还是utc的时间。

  第四步服务器:查看了一下服务器的时间,也是cst,有点绝望的时候,突然想起部署后端的时候用的是docker,进去容器内部发现docker里面的时区是utc,开心死了,在Dockerfile中加了修改时区的命令,成功解决了问题。

  参考:https://blog.csdn.net/fxtxz2/article/details/121980058

posted @ 2022-11-30 16:34  一个小哥哥  阅读(512)  评论(0编辑  收藏  举报