【发布时间】:2013-02-10 12:00:32
【问题描述】:
我正在使用 Django 1.4.3 和 Postgres 9.1.3。这是我的模板,其中message.created_at 是python datetime 对象,它清楚地告诉我日期时间对象存储在GMT 中,因为我可以通过在date 过滤器中传递e 进行调试。尽管我使用了docs 中给出的块和过滤器,但没有转换到我的本地时间(即 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
【问题讨论】:
-
您是否尝试过在设置中使用
TIME_ZONE = 'Asia/Kolkata'? -
是的,我试过了,它显示 IST。但是,如果他所在位置的另一个用户(例如
America/Chicago)查看相同的消息怎么办? -
您可以按照说明使用timezone.activate。
-
@Babu - 你有没有想过这个?我对
stable/1.5.x有同样的问题。今天之前我从来没有遇到过这个问题......
标签: django datetime python-2.7 django-templates timezone