0

我正在使用 Django 1.4.3 和 Postgres 9.1.3。这是我的模板,其中message.created_at是一个 pythondatetime对象,它清楚地告诉我 datetime 对象存储在 GMT 中,因为我可以通过传入过滤器e进行调试。尽管我使用了文档date中给出的块和过滤器,但没有发生转换为我的本地时间(即 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
4

2 回答 2

1

您是否正在activate激活本地时区?看到这个

于 2013-02-25T11:04:49.100 回答
1

好的。考虑到这些帖子post#1post#2我将在注册时手动从用户那里获取时区并将其存储在数据库中。并将与timezone.activate(request.user.timezone).

于 2013-02-25T13:16:10.473 回答