2014-12-08 1 views
10

python django에서 datetime 계산을 위해 delorean을 사용하고 있습니다. Python 어떻게 장고에서 표준 시간대 인식 날짜를 얻을 수 있습니까

http://delorean.readthedocs.org/en/latest/quickstart.html

내가

now = Delorean(timezone=settings.TIME_ZONE).datetime 
todayDate = now.date() 

을 사용하고 무엇을하지만 난

RuntimeWarning: DateTimeField start_time received a naive datetime (2014-12-09 00:00:00) while time zone support is active. 

내가 그것을 알고는

나는 또한 시도하는 방법을 알고 싶어이 경고를 얻을 이뿐 만 아니라

todayDate = timezone.make_aware(now.date(), timezone=settings.TIME_ZONE)는 내가 그것은 파이썬은 "시간대 인식 날짜의 개념이없는 당신이하는 date 개체 또는 datetime 목적으로 끝낼려고 노력하고 있는지 분명하지 않다이

AttributeError: 'datetime.date' object has no attribute 'tzinfo'

+0

'Delorean'에서 작동하는 방법을 잘 모르지만 datetimes는 시간대를 인식 할 수 있습니다. –

+0

https://docs.djangoproject.com/en/dev/topics/i18n/timezones/ – knbk

답변

24

수 ".

현재의 타임 존의 현재 시각에 해당하는 date 객체를 얻으려면, 당신이 사용하는 것 :

from django.utils.timezone import localtime, now 

localtime(now()).date() 

을 즉 : 당신이 얻고있는 현재 시간대 인식 UTC에서 datetime; 현지 시간대 (예 : TIME_ZONE)로 변환 중입니다. 그걸로 데이트하는거야. 현재 시간대의 현재 날짜 00 : 00 : 00에 해당하는 datetime 객체를 얻고 싶다면

, 당신은 사용하십시오 :

이와 your other question을 바탕으로
localtime(now()).replace(hour=0, minute=0, second=0, microsecond=0) 

, 난 당신을 생각 Delorean 패키지에 혼란스러워하고 있습니다. Django와 Python의 datetime 기능을 사용하는 것이 좋습니다.

관련 문제