【发布时间】:2021-03-18 03:55:36
【问题描述】:
在我的 postgresql 数据库中,我的日期时间存储为以下格式:
>>> p.publish
datetime.datetime(2020, 12, 6, 6, 19, 36, 269492, tzinfo=<UTC>)
现在我想在本地显示时间
{% load tz %}
{{ post.publish|localtime }}
什么都没有发生。 然后我尝试在shell中做到这一点:
from tzlocal import get_localzone
local_timezone = get_localzone()
pytz.utc.localize(p.publish,is_dst=None).astimezone(local_timezone)
这给了我以下错误:
ValueError: Not naive datetime (tzinfo is already set)
所以我的问题是为什么当 tzinfo 已经设置时它不能转换时间日期,以及如何解决它。将数据存储在具有特定时区(此处为UTC)的数据库中,然后在需要时将其显示在不同的时区中,这难道不是重点吗?我在这里遗漏了什么吗?
【问题讨论】:
-
什么是
local_timezone?时区对象? -
也许是
localtime而不是local? -
谢谢我和两个 cmets 联系了,确实是当地时间