UTC KST 시간대 차이 (+09:00 의미)
- IT
- 2023. 5. 4.
UTC는 전 세계 시간의 표준이기 때문에 소프트웨어 관점에서 항상 인지하고 있을 필요가 있습니다. 한편 한국 표준시인 KST는 우리가 실제로 사용하는 시간이기 때문에 중요합니다. UTC에 9시간을 더하면 한국 표준시입니다. 때문에 default_time_zone = '+09:00' 같은 설정값이 등장하는 것입니다.
UTC, KST란?
UTC
UTC는 Coordinated Universal Time으로 국제 표준 시간입니다. 그리니치 평균시(GMT)와 같은 개념입니다. 영국의 그리니치 천문대를 기준으로 전 세계 각국의 시간이 조정됩니다. UTC 0을 기준으로 + 기호는 동쪽 시간대, - 기호는 서쪽 시간대를 의미합니다. 즉, UTC 0은 시간 차이가 없는 기준시라는 걸 의미합니다.
참고로 약자가 Coordinated Universal Time인데 CUT가 아닌 UTC로 명칭하는 이유는 이 용어를 만드는 과정에서 영어와 프랑스어 양쪽 언어의 약어 형태를 일치시키기 위함이었다고 합니다. 딱히 중요한 내용은 아닙니다.
KST
KST(Korea Standard Time)는 한국 표준시를 의미합니다. 한국은 그리니치로부터 동쪽으로 9시간 떨어져 있습니다. 그래서 KST는 UTC +9와 같습니다. UTC 0보다 9시간 빠릅니다.
예시) DBMS 디폴트 타임존
DBMS는 데이터를 저장할 때 인식하는 기본 시간이 있습니다. 이를 기준으로 데이터를 저장한 시간을 표기합니다. 한국에서는 이 시간을 UTC+9로 적용해줘야 합니다. default-time-zone이 UTC 0이기 때문입니다.
가령 MYSQL에서 JDBC를 연결할 때 아래와 같은 에러가 발생하는 경우가 있습니다. 보통 아래의 에러는 mysql 커넥터 8버전대를 사용하는 경우 발생합니다.
The server time zone value 'KST' is unrecognized or represents more than one time zone.
위 문제 해결을 위해 server time zone을 한국 시간에 맞게 설정하는 두 가지 방법이 있습니다.
1. JDBC URL에서 serverTimezone 값을 서울로 설정하는 방법입니다.
jdbc:mysql://localhost/db?useUnicode=true&serverTimezone=Asia/Seoul
2. mysql 서버 설정 파일(my.cnf)에 default_time_zone을 설정하는 방법입니다.
[mysqld]
default_time_zone = '+09:00'
이렇게 설정을 적용하면 mysql은 모든 시간 값을 한국 표준시로 변환해서 저장합니다.
'IT' 카테고리의 다른 글
크롬(Chrome) 메모리 절약 모드 사용 방법 (0) | 2023.05.05 |
---|---|
웹앱 네이티브앱 하이브리드앱 차이점 (0) | 2023.05.05 |
카카오톡 대화내용 백업 방법 (스마트폰 교체 시 주의) (0) | 2023.05.03 |
PC / 스마트폰 메모앱 추천 TOP 3 (0) | 2023.05.01 |
소프트웨어 컴포넌트(Component)란? (0) | 2023.04.28 |