2012-10-24 224 views
2

在Django中以可識別時區的方式查詢當前創建的對象(或過去某個特定天數的特定日期)的最有效方法是什麼?Django日期時間查詢

我知道有很多關於這個問題,但答案大多沒有納入時區的認識,似乎沒有被任何明確的答案,最近,大多數解決方案將產生天真的日期時間的警告:

RuntimeWarning:DateTimeField收到一個天真的日期時間(2012-10-23 00:00:00),而時區支持處於活動狀態。

我正在運行帶有時區支持的Django 1.5,並且始終使用pytz和UTC時區。

回答

2

另一種選擇是

from django.utils.timezone import utc 
utcnow = datetime.utcnow().replace(tzinfo=utc) 
5

的Django有一個內置的功能轉換天真的日期時間對象時區知道的:

from django.utils import timezone 

enlightened_date = timezone.make_aware(naive_date, timezone.utc)