UTC 오프셋과 서머타임: 실전 가이드
"UTC+8"은 위도처럼 그 장소의 고정된 속성처럼 보입니다. 그렇지 않습니다. 그것은 규칙이고, 많은 나라에서 그 규칙은 1년에 두 번 바뀝니다. 일정 관리, 로그, 소프트웨어에서 생기는 거의 모든 시간대 오류는 규칙을 사실로 착각하는 데서 나옵니다.
이 글은 오프셋이 실제로 무엇을 뜻하는지, 생소한 오프셋을 어떻게 읽는지, 어디가 아직 시계를 바꾸는지, 그리고 전환일날 실제로 어떤 장애가 나는지를 다룹니다.

지도: 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월을 기다리는 버그입니다.
실전 체크리스트
- 오프셋 없이 지역 시각을 저장하지 마세요.
2026-03-08 02:30은 시점이 아니고,2026-03-08T02:30-05:00이 시점입니다. - 설정에는 오프셋보다 IANA 시간대 이름을 쓰세요.
America/New_York는 자기 서머타임 규칙을 알고,UTC-5는 모릅니다. - 반복 회의를 잡기 전에 양쪽의 전환일을 확인하세요. 한쪽만 움직일 수 있습니다.
- 공백을 예상하세요. 반복 작업이 지역 시각 자정에서 03:00 사이에 걸려 있다면 전환일에 무슨 일이 벌어지는지 확인하세요.
- 정수 시간을 가정하지 마세요. 30분·45분 오프셋은 실재하고, 순진한 산술을 깨뜨립니다.
변환 확인하기
한 번짜리 변환이라면 가장 빠르고 믿을 만한 방법은 계산이 아니라 두 시간대를 나란히 보는 것입니다. 시간대 변환기는 각 시간대의 현재 오프셋을 보여주고 서머타임을 자동으로 반영합니다. 여러 시간대를 동시에 보려면 세계 시계가 낫습니다.
시점이 아니라 기간, 예를 들어 "두 타임스탬프 사이가 몇 시간인지"를 구하려면 시간 계산기를 쓰세요. 절대 경과 시간으로 계산하므로 서머타임의 영향을 받지 않습니다.