2014-09-11 2 views
0

인트라넷 시스템에서 시간을 사용하려고합니다. 다른 시간대에 독립적 인 서버/시스템이 실행됩니다. 시간대가 아프고 시간을 사용하는 것이 매우 간단하기 때문에 (예를 들어 파일을 마지막으로 수정 한 사용자를 표시), 나는 순진한 시간을 사용한다고 생각했습니다. 그러나 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 출신이 작동하는지

답변

1

을 참조하십시오.

+0

설정의 'TIME_ZONE'을 기준으로 시간대를 설정합니다. 내 목표는 모든 사용에 대해 수동으로 변경하지 않는 것입니다. 'TIME_ZONE' 설정없이 사용하려고하면 기본값은'America/Chicago'입니다. – Pterosaur

관련 문제