hoony's web study

728x90
반응형

1. 개요

 

안녕하세요, 오늘은 DB에 UTC기준으로 날짜데이터를 관리하던중,

 

각 OS의 타임존에 알맞게 쉽게 컬럼을 뽑아낼 수 있는 방법이 무엇이 있을까?

 

하던 와중에 CONVERT_TZ 라는 공통 함수를 알게되어 해당 내용에 대해 포스팅합니다.

 

본 글은 Ubuntu 18.04 기준으로 작성되었음을 미리 알려드립니다.

 

* Linux/Unix 등 usr/share/zoneinfo 디렉터리 혹은 OS마다 설치된 타임존 정보가 없는경우엔

 

아래 내용대로 하시면 안됩니다.

 

2. 설정

 

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

 

해당 명령어를 통해 리눅스의 타임존정보를 mysqltimezone_table을 만들어주도록 합니다.

 

SELECT '2022-10-21 01:00:00', CONVERT_TZ('2022-10-21 01:00:00', 'GMT', @@GLOBAL.time_zone);

 

MariaDB 에서 별도로 cnf 옵션을 건드리시지 않았다면, GLOBAL.time_zoneSYSTEM

 

을 바라보게 되어있을 것입니다.

 

저는 Asia/Seoul 로 되어있으며, 해당 쿼리 작동시 아래와 같이 알맞게 데이터를 반환시켜주는것을 보실 수 있습니다.

 

감사합니다.

 

 

 

728x90

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading