2024-11-29 08:46阅读: 12评论: 0推荐: 0

Odoo和其他SprinBoot框架同时存在时时区问题

因为Centos的停更以及Odoo版本升级后更加友好的支持了Ubuntu所以发布Odoo服务使用了Ubuntun系统环境,因为Odoo为国外人开发所以他们默认代码中处理了跨时区的问题,便于在国内可以友好显示,但是我还不能手动去调时区,要不然就的处理Odoo的源代码了,可是我还有另一个MySQL的新环境要发布上来,发布后发现MySQL的时间存储以及页面显示出现了时区的差异,以下就是基于以上两点的最简单的解决办法!

查看MySQL的默认时区
SELECT @@global.time_zone, @@session.time_zone;

正常会显示默认时区UTC

修改MySQL的时区(永久)
  • 修改MySQL的配置文件(my.cnf)
[mysqld]
default-time-zone = 'Asia/Shanghai'
  • 添加以上内容后重启MySQL服务
    如果启动失败不出意外应该是MYSQL没有挂载系统集成的所有时区的配置文件导致的使用如下方法
  • 指定时区所在文件
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

会提示输入密码,输入MySQL的密码即可

  • 重启服务后验证时区
SELECT @@global.time_zone, @@session.time_zone;

image

  • 结果显示如上信息代表修改时区完成
  • 修改JDBC连接
jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
  • 指定时区 serverTimezone=Asia/Shanghai
通过以上方式正常情况下MySQL数据库的存储以及前端页面的显示应该就已经正常了
posted @   Kwoky  阅读(12)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起