RuntimeWarning:DateTimeField在django中收到了一个天真的日期时间

时间:2016-04-26 08:36:00

标签: python django datetime

我正在尝试为我的一个django模型设置DateTimeField。我的代码如下所示:

dt = datetime.fromtimestamp(mktime(parsed_feed.updated_parsed))
feed.updated = dt

updated_pa​​rsed是格式为struct的结构:

time.struct_time(tm_year=2016, tm_mon=4, tm_mday=26, tm_hour=8, tm_min=20, tm_sec=43, tm_wday=1, tm_yday=117, tm_isdst=0)

更新显然是django DateTimeField。我试图将结构转换为日期时间对象,然后将其设置为我的字段。一切都运行良好,并设置了正确的日期和时间,但是,我在控制台中收到此错误(警告):

RuntimeWarning: DateTimeField Feed.updated received a naive datetime (2016-04-26 08:25:08) while time zone support is active.
  RuntimeWarning)

如何将时区支持集成到日期时间对象(dt)?

2 个答案:

答案 0 :(得分:1)

this answer中所述:

以下行创建了一个天真(非时区感知)日期时间:

creationDate = datetime.datetime.now()

尝试将该行更改为:

creationDate = timezone.now()

请勿忘记在代码开头导入时区:

from django.utils import timezone

答案 1 :(得分:-1)

使用pytz包。 所以在你的观点中导入pytz。

t = pytz.timezone('Europe/Warsaw').localize(
    datetime(2013, 5, 11, hour=11, minute=0))

您的时区应在settings.py中设置 datetime and timezone conversion with pytz - mind blowing behaviour