반응형
# 문제점
- 현재 시간 표기시 현재 시간과 다름.
- curtime() 으로 현재 시간 확인
- 현재 시간은 17시인데, 08시로 뜬다. 9시간 차이가 있다.
# 해결법
SET time_zone='+09:00';
- 위의 코드를 실행하여 9시간의 차이를 맞춰준다.
- curtime() 으로 현재 시간 재확인
- 현재 시간 17시, 정상적으로 시간이 맞는 것을 확인 할 수 있다.
# 시간 차이가 나는 이유?
UTC(협정세계시)를 사용하기 때문이다.
UTC는 국제사회가 사용하는 과학적 시간의 표준을 말한다.
UTC는 한국에서와의 시간이 9시간 차이가 생기는데, 이 때문에 시간의 차이가 있는 것이다.
해결법에서 한 코드는 UTC로 설정된 시간에서 9시간을 플러스 해주어 현재 시각과 맞추는 작업을 진행한 것이다.
UTC로 되어있는 지 확인하는 방법은 다음과 같다.
아래의 코드를 실행하여 time_zone이 UTC인지 확인
select @@global.time_zone, @@session.time_zone,@@system_time_zone;
각자 사용하는 DB 서버의 형태에 맞춰 time_zone의 설정을 변경해주면 된다.
나는 아마존 RDS를 사용하기 때문에 세션의 타임존이 변경되었다.
반응형