본문 바로가기
카테고리 없음

[LINUX] 타임존 설정하기

by w1z 2023. 6. 14.

타임존 설정때문에 애를 많이 먹어서 따로 씀 

 

타임존은 

서버  ==  DB == 프로젝트 

이렇게 삼위일체 해야함 

aws 서버는 디폴트값이 UCT /  DB도 일단 웬만하면 UCT 인데

가끔 서버와 다르게 나올 수있으니 확인이 필요함 

 


  • 1) Linux OS의 시간대와 시간을 확인한다.
      echo $TZ
      date
  • 2) Oracle Database에 출력되는 시간을 확인한다.
      -- Check Time as System (이곳이 System의 시각과 동기화된다.)
      SELECT SYSDATE, SYSTIMESTAMP FROM DUAL
      ;

같으면 넘어감 

다르면???

 1단계- DB재가동   &    2단계- 시간대 설정해줘야함 

 

나의 경우 서버& DB  가  UTC 로 시간대동일함 

그런데 프로젝트는 디폴트값이 KST 이다 

그래서 프로젝트 홈컨트롤러에 

UTC로 타임존을 변경하는 소스코드를 넣어주었다 (간단) 


스프링부트 타임존 설정방법

타임존 셋팅하는 방법 jvm argument로 넘기는 방법이 있지만, 여기서는 애플리케이션 코드 내부에 @PostConstruct를 이용하는 방법에 대해서 알아보자.

@SpringBootApplication
public class SpringBootServerTimezoneApplication {

    @PostConstruct
    public void started() {
      // timezone UTC 셋팅
      TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
    }
    public static void main(String[] args) {       
      SpringApplication.run(SpringBootServerTimezoneApplication.class, args);
    }
}
 

 


출처 : https://umanking.github.io/2021/08/10/spring-boot-server-timezone/

 

Spring Boot 서버 타임존 설정 방법

Spring Boot 프로젝트내 서버 타임존 설정하는 방법

umanking.github.io