[AWS] JVM 타임존 설정 이슈

ITWeb/개발일반 2016. 6. 7. 14:52

aws 에서 인스턴스 생성 후 java program 에서 사용하던 Date 클래스에서의 시간이 잘 못 나오는 경우가 발생했습니다.

shell 에서 $ date 하면 정상적으로 KST 기준으로 시간이 잘 표시되지만 java application 에서는 GMT 0 로 시간이 표시 되는 문제 입니다.


해결 방법은 크게 두 가지 입니다.


1) 소스 코드에서 timezone 지정을 해서 date 설정을 하는 것입니다.

TimeZone timeZone;

Date date = new Date();

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM.dd HH:mm");


timeZone = TimeZone.getTimeZone("Asia/Seoul");

simpleDateFormat.setTimeZone(timeZone);


LOG.debug("{}", simpleDateFormat.format(date));


2) 서버 인스턴스 상에서 timezone 설정을 다시 하는 것입니다.

$ sudo tzselect


5) Asia

...

23) Korea (South)

...

1) Yes

...


$ vi .profile

 

TZ='Asia/Seoul'

export TZ


- 우분투로 구성 하였기 때문에 timezone 구성은 위와 같이 진행 하였습니다.

: