解决springboot项目部署到centos7下的tomcat中获取系统时间异常问题

一、问题描述:
springboot项目部署到服务器(centos7)tomcat之后,当程序中有需要获取系统时间时,发现获取到的系统时间与真实时间不准。

出现的问题图片举例:
1 dljsapp dljsapp 121 Jan  4 10:36 BOSSNM_0_3002_0001_50_M1_2022-01-03_851_0000002022-01-03 21:36:21_000.json
根据图片,出现的问题是Linux的系统时间是1月4号的早上10点,但是我的web程序获取到的系统时间是1月3号的晚上9点,两者的时间差了13个小时。

二、问题的解决思路:
<1>、首先排查Linux的系统时间是否正确;
排查结果如下图所示:
在这里插入图片描述
由上图可以,Linux的系统时间是正常的,其中CST是上海的时间位于东八区,UTC是标准东0区,两者的差距为8个小时才正常。
在排除不是Linux系统时间造成的影响之后,进行如下步骤。

<2>、因为web程序是部署在Tomcat下的,所以考虑是Tomcat未设置标准时区造成的。

进入Tomcat的bin目录的catalina.sh文件
在首行添加如下配置:

JAVA_OPTS="${JAVA_OPTS} -Duser.timezone=GMT+08"

添加位置如图所示:
在这里插入图片描述
添加完成之后测试结果:
在这里插入图片描述
由图可知两个结果一致,则结论为修改Tomcat的时区设置则可解决springboot程序部署在Linux下获取到异常时间的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值