mysql数据库插入时间与系统时间相差12小时

本例基于Linux系统下的解决方法。

问题出现缘由

今天发现Java后端用new Date()获取到的时间插入到mysql时候却相差了12个小时。前提是系统时间正常,数据库时间正常(此处的正常是指时区为北京时区,数据库时间也设置GMT+8),排除了以上两个可能出现问题的可能性之后。后来发现tomcat启动打印时间就已经与系统相差12个小时了。那此时就考虑是否是tomcat的时间配置问题。

解决方法

1. 修改JVM时间

打开java目录下/jre/lib/zi/文件目录,该目录下有各时区文件,首先备份下原有的GMT文件,然后把相差N小时对应的文件重命名为GMT,比如我比系统相差12小时,那就把GMT+12更改为GMT。

结果

此方法无效,我以为是+12不对,就rename了GMT-12,发现重启tomcat也无效。

2.修改catalina.sh文件

打开 tomcat目录下/bin/catalina.sh文件,在文件的开头写入:
export JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/shanghai"
然后重启了tomcat。

结果

此方法奏效,tomcat日志打印日期与系统一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值