Centos7时间和java获取时间不一致

  |   0 评论   |   4,046 浏览

问题描述

遇到一个问题,web显示的时间比服务器时间快12小时。Tomcat和MySQL安装在同一台服务器,系统是centos7,且服务器时间和MySQL时间一致,均是当前北京时间。

解决思路

1、在程序中使用java的函数设定时区。
2、在启动java程序时加参数-Duser.timezone=GMT+8
3、修改/etc/sysconfig/clock文件,然后重启服务。 (PS:jre是从/etc/sysconfig/clock这个文件中获取时区信息的)

附/etc/sysconfig/clock文件内容:

#设置上海时区
ZONE="Asia/Shanghai"
UTC=false
ARC=false
## ZONE -- 时区
## UTC -- 表明时钟设置为UTC。
## ARC -- 仅用于alpha表明使用ARC。

4、修改MySQL连接参数

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&autoReconnect=true&serverTimezone=UTC

自此终于能看到正常的时间了


标题:Centos7时间和java获取时间不一致
作者:jackssybin
地址:https://jackssybin.cn/articles/2019/12/24/1577200724607.html

评论

发表评论


取消