저는 centos 서버에 tomcat 서비스가 있는데 시간이 중요한 서비스입니다. JVM은 어제 jdk 8을 설치할 때까지 정확하게 시간대를 얻었습니다.jdk 설치 후 JVM의 시간대가 올바르지 않습니다. 8
수정하려면 "-Duser.timezone = GMT + 8"을 매우 Java 명령 다음에 추가해야합니다. 매우 불편합니다.
나는 내 서버에서 date
명령을 사용하며 정확한 시간대를 제공합니다. 그래서 나는 매우 궁금합니다. 1.이 문제의 원인은 무엇입니까 2. 어떻게 해결할 수 있을까요?
대단히 감사합니다.
[[email protected] test]$ date +'%Y%m%d %H:%M:%S %z'
20170920 15:01:20 +0800
[[email protected] test]$ java -Duser.timezone=GMT+08 javatest/Test
2017-09-20 15:01:34
GMT+08:00
GMT+08:00
[[email protected] test]$ java javatest/Test
2017-09-20 07:01:48
Greenwich Mean Time
GMT
[[email protected] test]$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
그리고 내 자바 테스트 코드는 다음과 같습니다 :
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = new Date();
System.out.println(sdf.format(d));
TimeZone tz = TimeZone.getDefault();
System.out.println(tz.getDisplayName());
System.out.println(tz.getID());
JDK8 버전을
System.setProperty("user.timezone", "GMT+8");
사용하거나 환경 변수로 추가 할 수 있습니까? 시스템 시간대는 무엇입니까? Java가 기본적으로 표시되는 시간대는 무엇입니까? –문제를 설명 할 수있는 테스트 케이스를 제공하십시오. – Fairoz
조언을위한 thx, 여기에 테스트 케이스가 온다 – Jim