问题描述
我对 Django 比较陌生。
我所有的日期时间对象都是 UTC,我的 settings.py 文件有 TIME_ZONE = 'UTC'
当这些 datetime
对象使用 {{ obj.datetime }} 显示在我的 html 模板中时,它们会在 UTC
中显示,我想在 UTC-05:00 中显示它们。
我该如何更改?
注意:我使用的是基于类的视图
解决方法
您可以在 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