개발일기

[Django] 한국 시간으로 설정하기 (timezone 한국시간으로 맞추기) 본문

오늘의 공부일기/장고 공부일기

[Django] 한국 시간으로 설정하기 (timezone 한국시간으로 맞추기)

츄98 2023. 6. 12. 23:20

스케줄링, crontab을 구현하면서 시간이 UTC 시간으로 자동설정되어있다는 것을 깨달았다.

UTC 시간이 아니라 한국 시간으로 설정하기 위한 방법을 알아보자.

 

UTC는

  • 세계 협정 시각으로 영국을 기준으로 한다.
  • 영국 그리니치 천문대를 기준으로 한 GMT와 동일하게 사용된다.

 

1. TIME_ZONE 수정

TIME_ZONE = "Asia/Seoul"

 

2. USE_TZ 수정

USE_TZ = False

 

USE_TZ는 Django의 settings.py 파일에서 설정할 수 있는 설정 항목 중 하나로, 시간대 지원을 사용할 것인지를 결정한다

USE_TZ를 True로 설정하면 ?

Django에서 제공하는 시간대 지원 기능을 사용할 수 있다.

Django는 데이터베이스와 서버 시간을 UTC(협정 세계시)로 저장하고 사용자의 시간대에 따라 출력한다.

따라서, 서버 시간대 변경 등으로 인한 문제를 최소화할 수 있다는 장점이 있다.

 

반면, USE_TZ를 False로 설정하면?
Django는 서버의 시간대를 사용한다. 이 설정은 타임존을 고려하지 않는 경우 유용할 수 있다.

예를 들어, 서버가 미국에 있고, 사용자가 미국 내에서 웹 어플리케이션을 사용하는 경우, USE_TZ를 False로 설정하여 불필요한 작업을 줄일 수 있고, 우리 프로젝트의 경우에도 서버의 시간대를 사용하기 위해 USE_TZ를 False로 설정했다.