한국표준시에 대한 흥미로운 이야기

Jerry Baba·2020년 4월 5일
3
post-thumbnail

이야기를 시작하기에 앞서 먼저 문제를 하나 풀어보자.

Q. 한국표준시는 다음 중 무엇일까요?
1. UTC+0900
2. UTC+0830
3. UTC+0827

대부분의 사람들이 정답을 1번으로 골랐을 것이다. 그런데 2, 3번도 정답일 수 있다. 왜 그럴까? 이를 이해하고 싶다면 아래의 이야기를 잘 읽어보길 바란다.

한국표준시 !== UTC+9

브라우저 콘솔에서 다음의 코드를 실행해, 로그를 보면 알 수 있듯이 한국표준시는 UTC+9가 맞다.(GMT는 아래에서 다시 설명하겠지만 UTC와 같은 것이라 봐도 무방하다.)

new Date('2020-04-05') // Sun Apr 05 2020 09:00:00 GMT+0900 (대한민국 표준시)

그런데 다음의 코드를 실행해보면 이상한 결과를 볼 수 있다. GMT+0830? 앞서 실행한 것과 다른 시간대가 표시되었다.

new Date('1954-03-21') // Sun Mar 21 1954 08:30:00 GMT+0830 (대한민국 표준시)

또 다른 시간대의 결과를 볼 수 있는 다음 코드를 실행해보자. 이번에는 GMT+0827이라는 시간대가 표시되었다.

new Date('1908-03-31') // Tue Mar 31 1908 08:27:52 GMT+0827 (대한민국 표준시)

이게 무슨 일일까? 결론부터 말하자면 대한민국의 표준시는 시대마다 조금씩 다르기 때문에 입력된 시간에 따라서 각각 다른 시간대를 표시한다. 위키피디아의 한국 표준시 설명을 참고해보면 한국 표준시의 역사는 다음과 같다.(구체적인 역사 이야기는 자료를 참고해보시길)

  • ~ 1908-03-31 : UTC+08:28
  • 1908-04-01 ~ 1911-12-31 : UTC+08:30
  • 1912-01-01 ~ 1954-03-20 : UTC+09:00
  • 1954-03-21 ~ 1961-08-09 : UTC+08:30
  • 1961-08-10 ~ : UTC+09:00

첫 번째 코드는 UTC+9 시간대를 사용하던 시대의 시간을 입력했기 때문에 UTC+9의 시간대가 표시되었고, 두 번째와 세 번째 코드는 각각 UTC+0830, UTC+0827 시간대를 사용하던 시대의 시간이 입력되어 그에 맞는 로그가 찍혔다.

한국표준시는 단순히 세계협정시(UTC)보다 9시간 빠른 시간이 아니다. 역사적인 함의가 담긴 말이다. 일상적으로 느슨하게 생각했을 때는 한국표준시가 UTC+9라고 생각해도 무방하지만, 한 치의 오차도 없고 정확하게 시간을 표현해야 한다면 한국표준시는 시대마다 다르다고 인식해야 한다. 역사적인 함의가 담긴 한국표준시를 표현하려면 Asia/Seoul이라고 해야 하고, 단순히 UTC보다 9시간 빠른 시간을 나타내려면 UTC+9라고 표현해야 한다.

시간대를 표현하는 방법

시간대를 표현하는 방법으로 UTC를 많이들 알고 있을 것이다. UTC는 ISO 8601 국제 표준에서 정한 시간대 표현법이다. UTC 이외에도 GMT, Etc/GMT가 있다. 각각에 대해 간단히 알고 넘어가자.

1. UTC

UTC는 1972년 1월 1일부터 시행된 국제 표준시로 세슘 원자 진동수를 기반으로 측정한 시간이다. UTC 시간은 GMT 시간의 기준이 되는 그리니치 천문대의 시간이다. (프랑스어: Temps Universel Coordonné, 영어: Coordinated Universal Time)의 약자로 프랑스권, 영어권의 약자(프랑스: TUC, 영어: CUT)를 사용하지 않고 새로운 배열로 만든 약자라고 한다. UTC를 기준으로 동쪽으로 시간을 더하고 서쪽으로 시간을 뺀다.

2. GMT

GMT는 Greenwich Mean Time의 약자로 그리니치 천문대의 태양시이다. 세슘 원자를 이용한 UTC보다는 정확도가 떨어지지만 UTC와 같다고 봐도 무방하다. UTC와 마찬가지로 GMT를 기준으로 동쪽으로 시간을 더하고 서쪽으로 시간을 뺀다.

3. Etc/GMT

Etc/GMT에 대해서는 사실 잘 모른다. 이것을 UTC, GMT와 나란한 위치에서 봐야 하는지도 사실 의문이다. 다만 moment-timezone.js라는 라이브러리에서 시간대 설정에 Etc/GMT라는 문자를 사용한다. 추축컨데, 다른 시간대 표현법인 것 같다. 다른 것은 몰라도 Etc/GMT의 중요한 특징이 있는데 동쪽으로 시간을 빼고, 서쪽으로 시간을 더한다는 것이다.

profile
행복한 인생의 성장을 추구합니다.

3개의 댓글

comment-user-thumbnail
2020년 4월 5일

재밌는 글 잘 읽었습니다

1개의 답글
comment-user-thumbnail
2020년 11월 12일

시간대가 연도별로 달랐군요. 신기합니다.

답글 달기