页面显示和数据库存储的时间不一致问题
1、项目使用的框架SpringBoot + Mybatis Plus2、问题:通过查询后,发现页面的创建时间和数据库存储的时间不一样,中间相差 14 个小时。讲过排查发现后发现是 jvm 时区和数据库时区设置不一致导致的原因。jvm 设置的是 GMT+8,数据库是 CST 时区。CST 时区比较混乱,会在冬令时或夏令时导致相差 13 或 14 个小时,所以需要改成自己需要的。3、解决1、jvm 系
·
1、项目使用的框架
SpringBoot + Mybatis Plus
2、问题:
通过查询后,发现页面的创建时间和数据库存储的时间不一样,中间相差 14 个小时。
讲过排查发现后发现是 jvm 时区和数据库时区设置不一致导致的原因。
jvm 设置的是 GMT+8,数据库是 CST 时区。CST 时区比较混乱,会在冬令时或夏令时导致相差 13 或 14 个小时,所以需要改成自己需要的。
3、解决
1、jvm 系统时区设置,在 application.yml 配置文件中
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
2、查看数据库时区
mysql> show variables like '%time_zone%';
我的是CST
time_zone 是 SYSTEM
3、修改my.cnf实现永久修改
vi /etc/mysql/my.cnf
================================
然后在代码中加入
default-time_zone = '+8:00'
4、重启 mysql
service mysql restart

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)