环境:centos 7.x
项目语言:java
项目中使用 new Date()方法发现取值时间与当前时间相差12个小时左右,第一反应是服务器的时间不正确。在服务器调用命令
date
[root@localhost soft]# date
Wed Jul 1 10:54:31 CST 2020
发现服务器时间与当前时间一致,没有问题。这个就很奇怪了,服务器时间和当前时间一致,但是代码里面获取的时间和当前时间相差,那就是服务器的时区有问题。输入命令: timedatectl。查看,果然Time zone不正确是 America/New_York (CST, +0800)
[root@localhost soft]# timedatectl
Local time: Wed 2020-07-01 10:37:26 CST
Universal time: Wed 2020-07-01 02:37:26 UTC
RTC time: Wed 2020-07-01 02:37:26
Time zone: America/New_York (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
设置时区为上海即可解决问题,参考: