问题描述:
JAVA程序中代码获取到的时间比Linux通过终端命令行date命令获取到的时间早8个小时。
百度解决方式:
1、在程序中使用java的函数设定时区。
2、在启动java程序时加参数-Duser.timezone=GMT+8
3、调整系统的时区设置
1).vi /etc/sysconfig/clock #编辑时间配置文件
ZONE="Asia/Shanghai"
UTC=false #设置为false,硬件时钟不于utc时间一致
ARC=false
2).ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #linux的时区设置为上海时区
3).ntpdate cn.pool.ntp.org #对准时间
4)./sbin/hwclock --systohc #设置硬件时间和系统时间一致并校准
我的解决方式:
用的是第三种的1)方式,遇到的情况是clcok文件中只有ZONE=“Asia/Shanghai”,没有UTC=false和ARC=false