Django 日期时间查询
Posted
技术标签:
【中文标题】Django 日期时间查询【英文标题】:Django Datetime Query 【发布时间】:2012-10-14 23:08:33 【问题描述】:在 Django 中以时区感知方式查询今天(或过去给定天数的特定日期)创建的对象的最有效方法是什么?
我知道对此有很多问题,但大多数答案都没有包含时区意识,似乎没有任何明确的最新答案,并且大多数解决方案都会产生天真的日期时间警告:
RuntimeWarning:DateTimeField 收到一个天真的日期时间 (2012-10-23 00:00:00) 时区支持处于活动状态。
我正在运行支持时区的 Django 1.5,并且始终使用 pytz 和 UTC 时区。
【问题讨论】:
【参考方案1】:另一种选择是
from django.utils.timezone import utc
utcnow = datetime.utcnow().replace(tzinfo=utc)
【讨论】:
【参考方案2】:Django 有一个内置函数可以将天真的日期时间对象转换为时区感知对象:
from django.utils import timezone
enlightened_date = timezone.make_aware(naive_date, timezone.utc)
【讨论】:
以上是关于Django 日期时间查询的主要内容,如果未能解决你的问题,请参考以下文章