Django Datetime Query
在Django中,以时区感知的方式查询今天(或过去给定天数的特定日期)创建的对象最有效的方法是什么?
我知道有很多关于这方面的问题,但大多数答案不包含时区意识,似乎没有任何确定的最新答案,而且大多数解决方案都会产生幼稚的日期时间警告:
RuntimeWarning: DateTimeField received a naive datetime (2012-10-23
00:00:00) while time zone support is active.
号
我正在运行带有时区支持的django 1.5,并在整个过程中使用pytz和UTC时区。
Django有一个内置函数,可以将naive datetime对象转换为支持时区的对象:
1 2 3 | from django.utils import timezone enlightened_date = timezone.make_aware(naive_date, timezone.utc) |
另一个选择是
1 2 | from django.utils.timezone import utc utcnow = datetime.utcnow().replace(tzinfo=utc) |
号