【发布时间】:2016-08-28 18:15:47
【问题描述】:
我正在为 Django 和日期时间而苦苦挣扎。
我有一个日期时间字符串,如“Sun, 28 Aug 2016 11:42:00 +0200” - 所以从我的角度来看,包括时区信息“+0200”
然后我用这个转换它:
date_published = time.strptime(date_published, "%a, %d %b %Y %H:%M:%S %z")
它给了我这个:
time.struct_time(tm_year=2016, tm_mon=8, tm_mday=28, tm_hour=11, tm_min=42, tm_sec=0, tm_wday=6, tm_yday=241, tm_isdst=-1)
然后我尝试像这样转换它:
date_published = datetime.fromtimestamp(time.mktime(date_published))
这给了我:
2016-08-28 11:42:00
然后 Django 在保存时抱怨以下警告:
RuntimeWarning: DateTimeField ModelName.field_name received a naive
datetime (2012-01-01 00:00:00) while time zone support is active.
如何正确转换输入字符串,以便将其保存到时区感知日期时间模型的字段中?
最好的问候
凯夫
【问题讨论】:
-
Django 抛出什么错误?向我们展示您的模型。
-
我添加了警告信息。
标签: django datetime data-aware