반응형
안녕하세요 오랜만에 인사드립니다!
오늘은 자바에서 시간을 표현하는 여러 객체들 중에 제목과 같이 세 가지가 어떻게 다르고 어떻게 쓰이는지에 대해서 알아보고자 글을 남기게 되었습니다
여담이지만, 회사에서 글로벌 서비스를 출시함에 있어서 한국 Region 뿐만 아니라 해외 여러 지역에 대해서도 일괄적인 서비스 운영이 필요한 상태였습니다.
일 / 주간/ 월간 별 서비스에 접근하거나(로그인하거나) 새롭게 가입한 사용자들을 카운팅하고 관점에 맞게 각종 통계자료를 내는 프로젝트를 진행하면서 시계열 정보에 대해 정확하게 인지하고 있어야 할 필요가 생겼습니다.
특정 일에 서비스에 로그인한 사용자들을 DB로부터 읽어올 때
매개변수로 Instant 포맷으로 프론트 클라이언트에서 받아오게 되고, 해당 Instant를 DB 에서의 DATETIME자료형 (mysql 기준)으로 변환이 될 때 spring 에서의 NamedJDBCTemplate은 localdateTime 자료형으로 변환하게 됩니다.
해당 자료형은 DB서버가 어느 위치에 존재하냐에 따라서 시차가 존재할 수 있기 때문에 항상 특정 지역으로 초기화 해 주어야 합니다.
따라서 UTC 타임존을 기준으로 localDateTime을 변환시키고 데이터베이스에서의 시간 관련 데이터들과 비교하여 원하는 데이터를 뽑아내거나 자료를 처리합니다.
초안 느낌으로 쓰는 글이라 주저리주저리 느낌이 나네요!
나중에 상세한 그림과 함께 정리해서 작성하는 시간을 가지도록 하겠습니다!
반응형
'Frameworks > Spring Framework' 카테고리의 다른 글
[SpringBoot] Eclipse 사용시 Amateras ERD DDL Comment 생성 안되는 오류 (0) | 2021.12.14 |
---|---|
[Spring Framework] 스프링의 원리, 컴포넌트 스캔에 대해서 (0) | 2021.03.22 |
[Spring Framework] 스프링 프레임워크의 원리 (싱글톤 디자인 패턴) (0) | 2021.03.17 |
[Spring Framework] SpringBoot를 이용한 정형화된 백엔드 시스템 개발 (0) | 2021.03.15 |