1)
Calendar runTimeCal = Calendar.getInstance();
System.out.println ("현재 타임존 : " + runTimeCal.getTimeZone().getDisplayName() );
TimeZone tz = TimeZone.getTimeZone("GMT+09:00");
runTimeCal.setTimeZone(tz);
위와 같이 처리하면 나온다.
2)
윈도우 비스타에선 운영체제의 timezone을 한국으로 설정해도
Java 관련 프로그램은 계속 그리니치 표준시로 나온다.
아래 옵션을 지정해주면 정상으로 출력된다.
-Duser.timezone=Asia/Seoul
3)
WAS에서 수정할 경우
- 톰캣의 경우...
tomcat 디렉토리 안에 bin 디렉토리에, catalina.bat 파일이 있는지 확인한다.
그 파일이 있다면 그 파일을 열어서 set JAVA_OPTS=%JAVA_OPTS% -Duser.timezone=GMT+09:00 를 추가한 후에 저장하고 실행하면 된다.
만약 그 파일이 없다면 tomcat 아래의 bin 디렉토리에 보면 tomcat5w.exe 파일확인.
그 파일을 실행하면 프로그램이 하나 구동되구요..
그 프로그램의 Java 라는 탭에 보면 Java Options 항목 존재
그 안에 보면 JVM 옵션들이 들어가 있음
거기에다 -Duser.timezone=GMT+09:00 를 추가하면 된다.
- Weblogic의 경우
도메인에 찾아들어가서 startWebLogic.cmd를 열어보면, 자바 옵션을 지정해주는 항목이 존재한다.
JAVA_OPTIONS 로 되어있을 것이다.
그러면, 톰캣과 마찬가지로 수정해주며 된다.
set JAVA_OPTIONS=%JAVA_OPTIONS% -Duser.timezone=GMT+09:00
------------------------------------------
cf) 비스타라도 1번과 같이 처리하면 제대로 나온다.
[출처] java Calendar 시간과 서버시간 불일치 처리 (꿈을 향한 도약..) |작성자 수난시대