작성
·
757
1
안녕하세요, 스프링부트+JPA+mariadb를 이용하고 있습니다.
서버시간: utc
스프링부트 타임존 설정: kst, utc+9
환경에서 개발중 localdate, localdatetime 디비 칼럼을 어떻게 사용하시는지 궁금합니다.
저는 프로그램 단에서는 타임존을 적용해서 시간을 사용하고
db 에는 utc 로 저장하도록 설정하고 있습니다
기존에는 localdatetime 만 사용해서
프로그램에서 2023/03/26 15:33:33 으로 받으면
db 에는 2023/03/26 06:33:33 으로 저장하고
다시 db 에서 불러올땐, 타임존 적용해서 2023/03/26 15:33:33 으로 사용하고 있었습니다.
localdate 형식으로 새롭게 추가하였는데
프로그램에서 2023/03/26 으로 받고
db 에는 2023/03/25 로 저장되고
다시 db 에서 불러오면 2023/03/25 로 전달 받고 있습니다.
위와 같은 환경을 설정했던 이유는, 여러 시간대(해외와 국내 같이)를 동시에 서비스 할 가능성이 있어서, db 는 모든 시간을 utc 로 저장하고 각 환경에 따라서 시간을 표시하자 라고 생각했습니다
위와 같은 상황에서 어떤식으로 해결하는게 좋은 방법일지 고민 됩니다.
혹은 다르게 설정하는 것이 좋은지 궁금합니다
localdate 를 사용하지 않고 localdatetime 형식을 쓰되 표현상으로 yyyy-MM-dd 로 바꿔야할지
아니면 localdate 그대로 쓰되 원하던 결과가 나오도록 설정하는 방법이 있을지 궁금합니다.