如何在Django模板中显示本地化时间
简单来说,next_contact
是一个UTC时间格式的日期和时间。当我在模板中写的时候,
{{ event.next_contact }}
我能得到正确的本地化的日期和时间。但是在这个地方,我只想输出时间,所以我这样做:
{{ event.next_contact.time }}
结果我得到了不经过本地化的时间。
怎么解决这个问题呢??
2 个回答
5
与其使用属性,不如直接在日期时间上使用 time
过滤器:
{{ event.next_contact|time }}
6
使用 {{ event.next_contact|localtime|date:"H:i" }}
。如果你设置了 USE_TZ=True
,那么可以省略 localtime
这个过滤器。
从 Django 1.7 开始,当你传入一个带有时区信息的日期时间值(也就是一个知道时区的日期时间实例)时,time
过滤器 将会接受与时区相关的格式说明符 'e', 'O', 'T' 和 'Z'。