728x90
반응형
[Spring Boot] TimeZone 설정 (KST, UTC, KST to UTC, 9시간 차이)
DB에 저장된 Date형식을 Thymeleaf를 통해 View에 출력하려고 했다.
그런데 계속 DB에 저장된 시간보다 +9시간 되어서 출력되길래 무엇이 문제인지 찾아 보았다.
위의 사진은 DB에 저장되어있는 Date이다.
아래는 서버를 실행시켜 Thymeleaf를 이용하여 View에 나타낸 것이다.
DB에 저장된 시간과 9시간이 차이가 나며 KST
라는 표시가 나와있다.
그래서 KST에 대해 알아보았다.
한국 표준시(韓國標準時, KST, Korea Standard Time)는 대한민국과 조선민주주의인민공화국의 표준시로, 동경 135도를 기준으로 하여 UTC보다 9시간 빠른 표준시(UTC+09:00)이다. - 위키백과 -
위의 글 처럼 UTC 보다 9시간 빠르다는 것으로 현재 KST로 출력되는 시간을 UTC로 바꿔주면 된다고 유추하였다.
참고로 UTC(Universal Time Coordinated)는 그리니치 천문대를 기준으로 하는 세계 표준 시간이다.
해결법
@SpringBootApplication
public class HellpartyApplication {
@PostConstruct
void started() {
// timezone UTC 셋팅
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
}
public static void main(String[] args) {
SpringApplication.run(HellpartyApplication.class, args);
}
}
위의 코드처럼 메인 메서드가 선언된 클래스에 timezone을 셋팅해주면 된다.
TimeZone을 설정해 준 후 실행시켜 보면 위의 사진처럼 DB에 저장된 시간과 같은 시간으로 나타나게 된걸 볼 수 있다.
참고 블로그
https://umanking.github.io/2021/08/10/spring-boot-server-timezone/
728x90
반응형
'1.프로그래밍 > Java' 카테고리의 다른 글
[Spring Boot] 게시판 조회수 중복 방지 (Cookie 사용, Mybatis) (0) | 2022.06.27 |
---|---|
[Spring Boot] @JsonFormat으로 Date 타입 직렬화(Json Date 타입 포맷) (0) | 2022.06.23 |
[Spring Boot] Quill.js + 이미지 업로드 (위지윅 에디터 이미지 업로드) (1) | 2022.06.07 |
[Spring Boot] @ResponseBody 사용하기 (Spring 에서 Ajax, Json 통신하기) (0) | 2022.05.25 |
[Spring Boot] Interceptor 설정 / 로그인 확인 (Gradle, HandlerInterceptor, WebMvcConfigurer) (0) | 2022.05.24 |