27
我有點由夏令混淆處理django的1.4 timezone.now()與datetime.datetime.now()
settings.py:
TIME_ZONE = 'Europe/London'
USE_TZ = True
在django的殼
:
>>> from django.utils import timezone
>>> import datetime
>>> print timezone.now()
2012-05-28 11:19:42.897000+00:00
>>> print timezone.make_aware(datetime.datetime.now(),timezone.get_default_timez
one())
2012-05-28 12:20:03.224000+01:00
爲什麼它們在夏令時方面不一樣?兩者都應該是區域意識,不是嗎?
我已閱讀文檔,但沒有更聰明的。
達到相同的價值,這有點違反直覺。我曾假設timezone.now()會在默認的時區給我。在我看來,這不是pythonic。使用.astimezone()解決了我的問題,謝謝。 – meepmeep
爲什麼我在執行以下操作時不斷收到錯誤:>>> import datetime >>> from django.utils import timezone >>> from polls.models import問題 >>>#用pub_date創建問題實例未來30天 >>> future_question =問題(pub_date = timezone.now()+ datetime.timedelta(天= 30)) >>>#最近發佈了嗎? >>> future_question.was_published_recently() 真 – pitchblack408
>>> future_question.was_published_recently() 回溯(最近通話最後一個): 文件 「」,1號線,在 文件「C:\用戶\ michmar3 \工作區\ pollsite \ polls \ models.py「,第17行,在was_p ublished_recently return self.pub_date> = datetime.datetime.now() - datetime.timedelta(days = 1) 文件」C:\ jython2。 7b2 \ Lib \ datetime.py「,第1727行,在__ge__中 return self .__ cmp(other)> = 0 文件」C:\ jython2.7b2 \ Lib \ datetime.py「,第1765行,在_datetime__cmp中 raise TypeError (「不能比較天真並知道日期時間「) TypeError:無法比較天真和意識日期時間 –
pitchblack408