django - 如何在 Django 中显示不同时区的所有日期时间对象

标签 django django-templates django-timezone

我对 Django 比较陌生。

我的所有日​​期时间对象均采用 UTC 格式,并且我的 settings.py 文件具有 TIME_ZONE = 'UTC'

当这些 datetime 对象使用 {{ obj.datetime }} 显示在我的 html 模板中时,它们以 UTC 显示,我想以 显示它们>UTC-05:00

我该如何改变这个?

注意:我正在使用基于类的 View

最佳答案

您可以在 settings.py 集中更改全局时区:

TIME_ZONE = 'America/Panama'

UTC-05:00

或者您可以在模板中使用过滤器timezone - 请参阅Django documentation

{% load tz %}

{{ obj.datetime|timezone:"America/Atikokan" }}

{% timezone "America/Panama" %}
    Panama time: {{ value }}
{% endtimezone %}

如何查看所有可用时区?

pytz提供helpers ,包括当前时区列表和所有可用时区列表 - 其中一些仅具有历史意义。

来自维基百科的时区列表:https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

关于django - 如何在 Django 中显示不同时区的所有日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65635577/

相关文章:

python - 如何将两个相似的 View 组合成一个响应?

python - Django 获取所有用户

python - 覆盖 django 管理员身份验证

python - 如何按发布日期显示最新 5 篇帖子?

python - 如何在 django-rest-framework 序列化器中使用时区序列化时间?

python - 具有UTC偏移量的django DateTimeField?

python - Docker Pytest容器在完成测试过程后仍处于启动状态

django - Django 注解的数学运算

django - 在 Wagtail 中生成 Django-Taggit 标签的唯一列表;

python - Django:将 gmt 时间而不是本地时间存储在数据库表中