블로그로 돌아가기
Reference 2026-04-24

타임스탬프와 ISO 8601 설명

시간대 재앙 없이 시스템 간 날짜와 시간을 처리하는 방법.

시간대 버그는 엔지니어링 팀에 연간 수천 시간을 소모시킵니다. 일관된 표현이 해법이고 ISO 8601이 표준입니다.

ISO 8601 형식

2026-04-30T15:32:18Z

2026-04-30T15:32:18+09:00

T가 날짜와 시간 분리. Z는 UTC.

유닉스 타임스탬프

1745939938     초

1745939938123 ms (JavaScript)

세 가지 죄악

1. 오프셋 없이 로컬 시간 저장

2. 로컬과 UTC 혼용

3. 클라이언트 시계 신뢰

저장

  • DB: TIMESTAMP WITH TIME ZONE 또는 BIGINT
  • JSON: 명시적 오프셋의 ISO 8601
  • 로그: ms 포함 ISO 8601, 항상 Zulu

날짜만

생일, 공휴일은 YYYY-MM-DD 그대로 저장하고 절대 시간대 적용 금지.

표시

Intl.DateTimeFormat으로 사용자 로케일별 렌더링.