使用django.utils.timezone修复天真日期时设置UTC?

时间:2017-05-19 14:43:58

标签: python django date datetime

我正在使用Django 1.9。我有一个带有DateTimeField的模型:

class myModel(models.Model):
    created = models.DateTimeField(blank=True, null=True)

我有一些天真的文本日期时间如下:

str = "2017-05-18T16:38:23"

如果我这样做:

d = datetime.strptime(result['last_modified'],
                                  "%Y-%m-%dT%H:%M:%S")
mymodel.last_modified = dt_aware

我收到警告:

RuntimeWarning
439
/usr/local/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1430: 
RuntimeWarning: DateTimeField CV.last_modified received a 
naive datetime (2015-04-07 09:09:20) while time zone support
is active.

所以我正在尝试这个,但我知道我应该使用UTC代替当前时区,因为我知道datetrings是UTC:

d = datetime.strptime(str, "%Y-%m-%dT%H:%M:%S")
dt_aware = tz.make_aware(d, tz.get_current_timezone())
mymodel.last_modified = dt_aware

如何将其修改为使用UTC而不是当前时区?我不想在我的应用中禁用时区支持。

0 个答案:

没有答案