java Date类型数据存储到Mysql后时间和系统当前时间有差距

现象描述

在部署以前服务时,组里小同学发现java Date的时间和存储后结果不正确,相差12个小时。
在这里插入图片描述
第二列为存储到mysqll时间数据,第四列为对应真实时间。

分析现象

遇到此问题,可能肯定是时区问题。
中国与美国时差在夏令时为13个小时,非夏令时为12个小时。

查看mysql时区,为美国中部时区

show variables like '%time_zone%';

在这里插入图片描述

解决问题

方案一:
java 端jdbc连接串加入&serverTimezone=Asia/Shanghai
方案二:
在配置文件中加入相关配置;

编辑 /etc/my.cnf
[mysqld]
default-time-zone = '+8:00' #设置默认时区

方案三:
临时生效,重启无效。

set GLOBAL time_zone = '+8:00';
set  time_zone = '+8:00';
FLUSH privileges;

show variables like '%time_zone%';

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值