<返回更多

国外服务器部署springboot 项目 出现时区问题

2022-02-16    fengyexin9
加入收藏

查看当前服务器下的时间:

[root@swk-204 ~]# date
Fri Jan 25 19:28:28 CST 2019
[root@swk-204 ~]# date "+%Y-%m-%d %H:%M:%S"
2019-01-25 19:28:36
[root@swk-204 ~]# 

问题解决

设置操作系统的时区:

[root@engine ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
 1) Afghanistan       18) Israel            35) Palestine
 2) Armenia       19) Japan         36) Philippines
 3) Azerbaijan        20) Jordan            37) Qatar
 4) Bahrain       21) Kazakhstan        38) Russia
 5) Bangladesh        22) Korea (North)     39) Saudi Arabia
 6) Bhutan        23) Korea (South)     40) Singapore
 7) Brunei        24) Kuwait            41) Sri Lanka
 8) Cambodia          25) Kyrgyzstan        42) Syria
 9) China         26) Laos          43) Taiwan
10) Cyprus        27) Lebanon           44) Tajikistan
11) East Timor        28) macau         45) Thailand
12) Georgia       29) Malaysia          46) Turkmenistan
13) Hong Kong         30) Mongolia          47) United Arab Emirates
14) India         31) Myanmar (Burma)       48) Uzbekistan
15) Indonesia         32) Nepal         49) Vietnam
16) Iran          33) Oman          50) Yemen
17) Iraq          34) Pakistan
#? 9
Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 1

The following information has been given:

    China
    east China - Beijing, Guangdong, Shanghai, etc.

Therefore TZ='Asia/Shanghai' will be used.
Local time is now:  Fri Jan 25 15:10:18 CST 2019.
Universal Time is now:  Fri Jan 25 07:10:18 UTC 2019.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by Appending the line
    TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
[root@engine ~]# 

调整时区文件到对应目录

备份当前的时区配置

[root@engine ~]# mv /etc/localtime /etc/localtime-old

替换系统时区文件

[root@engine ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

或者创建链接文件

[root@engine ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改clock系统配置文件/etc/sysconfig/clock为如下内容

[root@swk-204 ~]# cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false                          #设置为false,硬件时钟不于utc时间一致
ARC=false
[root@swk-204 ~]# 


设置操作系统环境变量TZ

在/etc/profile或~/.bashrc文件中设置环境变量TZ

export TZ='Asia/Shanghai'

或者

TZ='Asia/Shanghai'; export TZ

通过source命令即可完成设置

JAVA进程调整时区


AVA硬编码

import java.util.TimeZone;
import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;

@Component
public class TimeZoneStartup {  
    /**
     * 设置时区
     */
    @PostConstruct
    public void init(){
        TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
    }
    
}

按照以上方法操作后,可以获取指定的时区

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>