【问题标题】:Django Datetime QueryDjango 日期时间查询
【发布时间】:2012-10-14 23:08:33
【问题描述】:

在 Django 中以时区感知方式查询今天(或过去给定天数的特定日期)创建的对象的最有效方法是什么?

我知道对此有很多问题,但大多数答案都没有包含时区意识,似乎没有任何明确的最新答案,并且大多数解决方案都会产生天真的日期时间警告:

RuntimeWarning:DateTimeField 收到一个天真的日期时间 (2012-10-23 00:00:00) 时区支持处于活动状态。

我正在运行支持时区的 Django 1.5,并且始终使用 pytz 和 UTC 时区。

【问题讨论】:

    标签: python django datetime django-queryset


    【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-27
        • 2013-03-11
        • 2018-08-06
        • 2013-12-23
        • 1970-01-01
        • 2014-08-05
        • 2014-06-29
        • 1970-01-01
        相关资源
        最近更新 更多