環境: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
設置時區爲上海即可解決問題,參考: