0

Datetime 对象以 UTC 格式存储,并在显示时转换为本地时区。因此,当我调用时timezone.now(),它应该将 UTC 转换为本地时区并相应地显示时间。

我已经pytz按照 django 的建议安装了。

我做了以下事情:

设置USE_TZ = Truesettings.py

并在models.py我将对象保存到数据库的位置

from django.utils import timezone time= timezone.now()

也做过timezone.activate(pytz.timezone("America/Los_Angeles"))

当我获取存储的时间时,它是2014-10-01 00:50:37,比现在时间早几个小时。我哪里错了?

4

1 回答 1

0

存储在数据库中的时间是 UTC,这是正确的。问题是当我检索它时,它没有被转换为本地时区,而是以 UTC 打印。所以我不得不在模板中转换它,如下所示:

{% load tz %}
{{ value|timezone:"America/Los_Angeles" }}

呸,它奏效了!

于 2014-10-01T18:31:47.090 回答