인트라넷 시스템에서 시간을 사용하려고합니다. 다른 시간대에 독립적 인 서버/시스템이 실행됩니다. 시간대가 아프고 시간을 사용하는 것이 매우 간단하기 때문에 (예를 들어 파일을 마지막으로 수정 한 사용자를 표시), 나는 순진한 시간을 사용한다고 생각했습니다. 그러나 Django가 제공하는 순진 시간대가 잘못되었습니다.장고는 시스템에서 순진 시간대가 잘못 되었습니까?
Settings.py : 장고 콘솔에서
# No TIME_ZONE specified because I want it to use whatever the system time is
USE_L10N = False
USE_TZ = False
, 나는 os.getenv('TZ')
을 실행하고 컴퓨터가 America/New_York
로 설정되어 있지만 그것은 'America/Chicago'
를 반환합니다. (명령 행에서 date
을 호출하면 내가 EDT에 있음을 알 수 있습니다. 따라서 timezone.now()
또는 datetime.datetime.now()
으로 전화하면 결과가 한 시간 앞당겨집니다. (이 중 하나에 timezone.is_aware()
을 호출하면 False
가 반환됩니다.)
내 질문 : 왜이 시간대는 시스템 시간과 관련하여 부정확하며이를 해결할 수있는 방법이 있습니까?
from django.utils import timezone
timezone.localtime(timezone.now())
이것은 Django docs 출신이 작동하는지
설정의 'TIME_ZONE'을 기준으로 시간대를 설정합니다. 내 목표는 모든 사용에 대해 수동으로 변경하지 않는 것입니다. 'TIME_ZONE' 설정없이 사용하려고하면 기본값은'America/Chicago'입니다. – Pterosaur