날짜와 시간에 대한 표준

퐁치키메실차·2022년 6월 22일
1
post-thumbnail

문제점

우선 상황을 설명하자면 서비스 개발 중 Client, Server 간 통신 시 시간표기에 대한 합의가 필요했다. 정해갈 때 중점적으로 본 것은 아래와 같았다.

  1. 글로벌 서비스에도 대응할 수 있어야 한다.
  2. 기술 부채를 만들지 말자.
  3. 표준을 이용하자.

위 내용을 기반으로 ISO 8601 표준을 따르기로 했고, 서버는 UTC로 저장하고 클라이언트 쪽은 TimeZone을 알 수 있으니 UTC로 받은 날짜에 TimeZone을 사용하기로 했다.

멀리서..해당 부분을 정하는 것을 보면서 새로 알게 된 부분들을 정리해 두려고 한다.

협정 세계시 (UTC)

1972년 1월 1일 부터 시행된 국제 표준시이다. UTC는 국제 원자 시와 지구자전을 이용한 근사적인 세계 시와 상호 균형을 맞추어 일상생활에 기준이 되게 하는 표준시를 말한다고 한다.

아래 이미지를 보면 Hours(시) 가 ’0’ 인 곳(기준)에서 한국이 있는 곳이랑은 +9 인것을 알 수 있는데 기준이 되는 시간과 9시간 빠르다는 뜻이다.

시간 국제 표준

ISO (International Organization for Standardization) 는 각종 여러 나라의 표준 제정 단체로 이뤄진 표준화 기구인데, 해당 기구에서 날짜와 시간에 대한 표준을 정했다.

많은 표준이 있지만 그 중 가장 최신 버전의 시간에 대한 표준은 ISO 8601 라고 불린다.
설명에 따르면 표준화 된 방식을 사용하려는 누구든 사용할 수 있고 날짜, 시간, UTC, 날짜와 시간, 시간 간격, 반복 시간 가격 등 표현이 가능하다고 한다.

요약

ISO 8601: 국제 표준을 준수하고, 날짜와 시간을 다룰때 어려움을 피하기 위해 날짜를 표현한 것

UTC: 시계를 동기화 하고 측정 및 기타 활동에서 정밀도를 유지하기 위한 공식 시간 표준

표현 방식

// utc 기준 
2022-06-22 23:00:00

// iso 8601 - utc
2022-06-22T23:00:00Z

// iso 8601 - Asia/Seoul
2022-06-22T14:00:00+09:00

0개의 댓글