카테고리 없음

표준 시간대의 활용

노새두마리 2024. 7. 21. 20:40

타임스탬프

기본적으로 UNIX 타임스탬프는 1970년 1월 1일로부터 얼마나 시간이 경과하였는지를 나타내는 절대적인 지표입니다. 기준이 되는 표준 시간대는 UTC.

기초적인 설명은 다른 곳에도 많고 기술서를 보는 게 훨씬 정확하므로 이 정도만 하고 실제 사용 시 헷갈릴 수 있는 내용만 정리하고자 합니다.


표준 시간대의 반영

표준 시간대의 활용은 크게 두 가지 방법이 있습니다.

  • 문자열로부터 날짜 및 시각 데이터를 얻을 때 해당 문자열의 해석 기준이 되는 표준 시간대로서 사용하는 경우(실제 타임스탬프가 달라짐)
  • 타임스탬프를 표시할 기준이 되는 표준 시간대를 설정하는 경우(해당 시각의 표현만 달라짐)

시각의 표시는 ISO 8601 형식을 따르며, 문자열의 끝에 Z가 붙은 경우 UTC, ±hh:mm 형태의 문자열이 붙은 경우 특정 표준 시간대를 나타냅니다.


1. 문자열의 해석 기준이 되는 표준 시간대 설정

표준 시간대의 차이는 실제 타임스탬프의 차이로 이어집니다.

2024년 7월 21일 0시를 나타내는 '20240721'을 해석할 때에 UTC를 zone으로 하는 경우, 이는 UTC의 시각으로 해석되어 별다른 조정없이 2024년 7월 21일 0시를 나타냅니다.

2024년 7월 21일 0시를 나타내는 '20240721'을 해석할 때에 Asia/Seoul을 zone으로 하는 경우, 9시간 만큼의 오프셋을 조정하여 2024년 7월 20일 15시를 나타냅니다.


2. 타임스탬프 표시 기준이 되는 표준 시간대 설정

표준 시간대가 달라지더라도 타임스탬프는 동일합니다.

동일한 시각에 대하여 서로 다른 표준 시간대를 반영하여 표시합니다. 연월일 및 시, 분, 초가 현지 시각에 맞게 표시되고 있는 것을 확인하실 수 있습니다.


요약

문자열 + 표준 시간대 = 실제 타임스탬프에 차이 발생

타임스탬프 + 표준 시간대 = 표시되는 시각에만 차이 발생