TIL/Django

[Django] timezone

oraange 2022. 4. 15. 09:53

  • python에서 시간을 얻는 방법
from datetime import datetime 

datetime.now() 
# 결과: datetime.datetime(2022, 3, 14, 0, 33, 21, 553440)
  • django에서 시간을 얻는 방법
from django.utils import timezone 

timezone.now() 
# 결과: datetime.datetime(2022, 3, 14, 0, 33, 21, 677327, tzinfo=<UTC>) 

timezone.localtime() 
# 결과: datetime.datetime(2022, 3, 14, 0, 33, 21, 350281, tzinfo=<DstTzInfo 'Asia/Seoul' KST+9:00:00 STD>)
  • django에서 시간을 표현하는 방법
    • USE_TZ 이 False이기 때문에 강제로 한국 시간을 DB에 저장할 수 있다.
    LANGUAGE_CODE = 'ko-kr'
    TIME_ZONE = 'Asia/Seoul'
    USE_TZ = True
    • USE_TZ 이 True 이기 때문에 DB에 UTC 시간이 DB에 저장되게 된다.
    • 그러나 DB의 값을 꺼내 보여줄 때 TIME_ZONE 이 한국으로 설정되어있기 때문에 자동으로 한국 시간에 맞춰 변환되어 보여진다.
  • LANGUAGE_CODE = 'ko-kr' TIME_ZONE = 'Asia/Seoul' USE_TZ = False
반응형