我使用的是Django 1.4.3和Postgres 9.1.3。这里是我的模板,其中message.created_at
是一个python datetime
对象,它清楚地"告诉"我日期时间对象存储在GMT中,因为我可以通过在date
过滤器中传递e
来调试。虽然我使用了文档中给出的块和过滤器,但转换到我的本地时间IST并没有发生。它仍然以GMT显示日期时间值。我缺少什么?
{% load tz %}
{% localtime on %}
<div class="m_td_block">
<span>{{ message.created_at|date:"D, d M, Y e" }}</span>
<span>{{ message.created_at|time:"h:i A" }}</span>
</div>
{% endlocaltime %}
也尝试了另一种方法,
{% load tz %}
<div class="m_td_block">
<span>{{ message.created_at|localtime|date:"D, d M, Y e" }}</span>
<span>{{ message.created_at|localtime|time:"h:i A" }}</span>
</div>
这是我的设置,
TIME_ZONE = 'GMT'
USE_I18N = True
USE_L10N = True
USE_TZ = True
您是否正在执行activate
以激活本地时区?看看这个。
好的。考虑到这些帖子#1,帖子#2,我将在注册时从用户那里手动获取时区并将其存储在数据库中。并将与timezone.activate(request.user.timezone)
一起使用。