시스템의 시간 설정에도 문제가 없는데.
new Date() 의 값을 찍어 보면... 시간이 9시간 늦게 표시 되는 경우가 발생 했다.
물론 9시간은 한국에서의 일이고.... 시스템 설정에 따라 시간차는 다르게 나올수 있다. 
또한 이런 현상은.... 아주 .. 아주 드물게 것도 특정 pc, 또는 특정 서버에서 발견 된다.

시간값이 중요하게 사용 되는 시스템인경우.. 상당히 문제가 많이 발생 할수있다.
물론 시간값을 구할때 마다 TimeZone 값을 설정 하여 시간을 얻어 올수 있지만.
이는 진정한 삽질이 아닌가...

또한 log4j 같이 특정 툴을 사용 하는 경우.. (물론 log4j는 프로퍼티 값으로 TimeZone 설정이 되는 걸로 알지만..)
이런 툴들이 사용 하는 시간값들은.... 삽질로도 불가능 경우가 있다...

위 문제를 해결 하는 방법으로는 2가지의 방법이 있다.
하나는 System.setProperty 값을 설정하는 방법과.
java 실행시 실행 옵션값에 timezone값을 설정 하는 방법이다.

1. System.setProperty 설정 방법
==> main() 의 첫번째 라인에 (시스템 구동시 가장 먼저 설정해야 문제가 없을 것이므로..^^)
      System.setProperty("user.timezone", "Asia/Seoul");
위 방식은 해외용 플젝에는..... 적절치 못한 방법이다.

2. java 실행시 실행 옵션값에 timezone값을 설정 하는 방법
==> java -Duser.timezone=GMT+09:00 [실행클래스]

참고 :
위의 jdk 버그 관련 url
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6440819

참조 : http://pwk777.egloos.com/4751758

ex) %JAVA_HOME%\bin\java -Duser.timezone=GMT+09:00

댓글을 달아 주세요