Clockhub Logo
블로그문의하기
전체 글
레퍼런스5 분 소요

UTC 오프셋과 서머타임: 실전 가이드

"UTC+8"은 위도처럼 그 장소의 고정된 속성처럼 보입니다. 그렇지 않습니다. 그것은 규칙이고, 많은 나라에서 그 규칙은 1년에 두 번 바뀝니다. 일정 관리, 로그, 소프트웨어에서 생기는 거의 모든 시간대 오류는 규칙을 사실로 착각하는 데서 나옵니다.

이 글은 오프셋이 실제로 무엇을 뜻하는지, 생소한 오프셋을 어떻게 읽는지, 어디가 아직 시계를 바꾸는지, 그리고 전환일날 실제로 어떤 장애가 나는지를 다룹니다.

UTC 오프셋이 위아래 가장자리에 표시된 세계 표준 시간대 지도

지도: CIA — 퍼블릭 도메인, Wikimedia Commons

오프셋이란

오프셋은 지역 시계와 협정 세계시의 차이이며, UTC 뒤에 부호와 시간 수를 붙여 씁니다.

  • UTC+08:00은 지역 시계가 UTC보다 8시간 앞선다는 뜻입니다. UTC가 04:00일 때 지역 시각은 12:00입니다.
  • UTC−05:00은 지역 시계가 UTC보다 5시간 뒤진다는 뜻입니다. UTC가 04:00일 때 지역 시각은 전날 23:00입니다.

부호를 가장 많이 틀립니다. 양의 오프셋은 본초 자오선의 동쪽, 음의 오프셋은 서쪽입니다. 동쪽은 앞서고 서쪽은 뒤집니다.

GMT와 UTC는 같지 않습니다

GMT(그리니치 평균시)는 오프셋 UTC+0인 시간대이고, 영국에서 겨울에 여전히 씁니다. UTC는 오프셋을 재는 기준이 되는 원자 시간 표준입니다. 일상에서는 호환되지만 "GMT+8"은 기술적으로 느슨한 표현입니다. 올바른 형태는 "UTC+8"입니다. 일부 시스템은 여전히 GMT식 라벨을 내보내는데, UTC로 취급하면 됩니다.

정수가 아닌 오프셋

세계 오프셋의 약 4분의 3이 정수 시간이라 나머지는 잊히기 쉽습니다.

오프셋지역
UTC+05:30인도, 스리랑카
UTC+05:45네팔
UTC+08:45오스트레일리아 서부 유클라
UTC+09:30오스트레일리아 중부(노던 준주, 사우스오스트레일리아)
UTC+10:30로드하우 섬
UTC+12:45뉴질랜드 채텀 제도
UTC+13:00통가, 사모아, 키리바시(라인 제도)
UTC−03:30캐나다 뉴펀들랜드
UTC−09:30마르키즈 제도

네팔의 45분 오프셋은 세계에서 유일합니다. 오프셋이 3600초의 배수라고 가정하는 코드를 짜고 있다면, 이 줄들이 그 가정을 깨뜨립니다.

한 나라, 한 오프셋

중국은 지리적으로 약 5시간에 걸쳐 있지만 전국이 UTC+8 하나를 씁니다. 신장 서부에서는 해가 지역 시각 10시쯤에 뜨기도 합니다. 스페인은 지리적으로 대략 UTC+0에 있지만 중부 유럽과 맞추기 위해 UTC+1(여름에는 +2)을 씁니다. 이는 정치적 선택이지 천문학적 결과가 아닙니다. 시간대가 기하학이 아니라 입법이라는 점을 잘 보여줍니다.

서머타임

서머타임은 봄에 시계를 한 시간 앞으로, 가을에 뒤로 옮겨 낮 시간을 근무 시간에 더 잘 맞춥니다.

시계를 바꾸는 곳

  • 유럽연합과 영국 — 3월 마지막 일요일부터 10월 마지막 일요일까지.
  • 미국과 캐나다 — 3월 두 번째 일요일부터 11월 첫째 일요일까지.
  • 호주와 뉴질랜드 — 남반구라 날짜가 반대입니다. 9월 말이나 10월 초에 시작해 4월 초에 끝납니다.
  • 칠레, 파라과이, 브라질 일부 — 남반구 일정에 지역별 차이가 있습니다.

바꾸지 않는 곳

  • 중국 — 1986년부터 1991년까지 시행했다가 폐지했습니다.
  • 일본 — 1948년부터 1951년까지 시행했고 이후 재개하지 않았습니다.
  • 한국 — 1988년 이후로는 서머타임을 시행하지 않습니다.
  • 인도, 동남아시아 대부분, 러시아, 튀르키예 — 서머타임 없음.
  • 아프리카와 중동 대부분 — 예외를 빼면 서머타임 없음.
  • 하와이, 애리조나(나바호 네이션 제외), 푸에르토리코 — 미국 안에서 스스로 빠진 지역.

도쿄와 뉴욕 사이를 조율한다면 1년의 대부분은 14시간 차이이고, 잠깐 13시간이 되었다가 다시 14시간이 됩니다. 숫자는 안정적이지 않습니다. 안정적인 것은 두 시간대의 규칙뿐입니다.

전환일의 장애

매년 되풀이되는 두 가지 버그가 있고, 둘 다 모든 지역 시각이 정확히 한 번씩 존재한다는 가정에서 나옵니다.

봄 전진: 존재하지 않는 지역 시각. 미국에서는 시계가 02:00에서 03:00으로 뜁니다. 그날 02:30은 없습니다. 02:30으로 잡아둔 작업은 시스템에 따라 실행되지 않거나, 03:00에 실행되거나, 두 번 실행됩니다. 유럽연합의 01:00에서 02:00으로 가는 점프도 같습니다. 01:30은 존재하지 않습니다.

가을 후퇴: 두 번 존재하는 지역 시각. 시계가 02:00에서 01:00으로 돌아가므로 01:30이 한 시간 간격으로 두 번 나옵니다. 순진한 스케줄러는 두 번 실행합니다. "01:30"이라고 찍힌 로그 한 줄은 오프셋 없이는 모호합니다.

두 경우 모두 해법은 같습니다. UTC로 저장하고 비교하고, 표시할 때만 지역 시각으로 변환하세요. UTC에는 서머타임이 없고 초가 반복되거나 건너뛰지 않습니다. 오프셋 없는 지역 시각을 담은 데이터베이스 칼럼은 3월을 기다리는 버그입니다.

실전 체크리스트

  1. 오프셋 없이 지역 시각을 저장하지 마세요. 2026-03-08 02:30은 시점이 아니고, 2026-03-08T02:30-05:00이 시점입니다.
  2. 설정에는 오프셋보다 IANA 시간대 이름을 쓰세요. America/New_York는 자기 서머타임 규칙을 알고, UTC-5는 모릅니다.
  3. 반복 회의를 잡기 전에 양쪽의 전환일을 확인하세요. 한쪽만 움직일 수 있습니다.
  4. 공백을 예상하세요. 반복 작업이 지역 시각 자정에서 03:00 사이에 걸려 있다면 전환일에 무슨 일이 벌어지는지 확인하세요.
  5. 정수 시간을 가정하지 마세요. 30분·45분 오프셋은 실재하고, 순진한 산술을 깨뜨립니다.

변환 확인하기

한 번짜리 변환이라면 가장 빠르고 믿을 만한 방법은 계산이 아니라 두 시간대를 나란히 보는 것입니다. 시간대 변환기는 각 시간대의 현재 오프셋을 보여주고 서머타임을 자동으로 반영합니다. 여러 시간대를 동시에 보려면 세계 시계가 낫습니다.

시점이 아니라 기간, 예를 들어 "두 타임스탬프 사이가 몇 시간인지"를 구하려면 시간 계산기를 쓰세요. 절대 경과 시간으로 계산하므로 서머타임의 영향을 받지 않습니다.