반응형

1. 문제 상황

  • Spring Boot 프로젝트를 로컬에서 실행했을 때는 DB에 데이터를 삽입할 때, createdAt이 제대로 삽입됨
  • 하지만 EC2로 배포 후 데이터를 삽입하면 한국 시간으로 들어가지 않고, 시간이 UTC로 들어가는 문제가 발생함 (한국 시간 -9)

2. 원인

  • EC2 인스턴스 자체의 TimeZone을 바꿔봐도 해당 문제는 여전히 발생
  • 프로젝트 자체의 TimeZone이 문제라고 생각함

3. 해결 방법

  • 아래의 코드를 통해 프로젝트의 TimeZone을 서울로 맞춰주면 됨
  • 이 코드는 프로젝트의 main 클래스나 @Component로 등록한 클래스 내부에 적어줘야 실행됨
  • @PostConstruct는 프로젝트가 처음 실행될 때, 한 번만 실행 시켜주는 어노테이션
@PostConstruct
public void setTimeZone(){
    TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
}
반응형
복사했습니다!