在django模板中呈现datetime对象时出错

时间:2012-06-24 00:59:19

标签: python django datetime

对于博客应用,我正在尝试获取所有月份的列表,其中已发布帖子,但发现模板中呈现的错误月份集。我乱砍了,发现了以下结果,

>>> date_list = Entry.objects.filter().dates('pub_date','month') 

上面的代码,给我一组正确的月份,

>>> date_list[6]
 datetime.datetime(2012, 6, 1, 0, 0, tzinfo=<UTC>)

月份表示6月份,但是当使用模板呈现时,月份减少1,即“可能”

>>> t = Template("The month is {{ month|date:'m' }}  ")
>>> c = Context({"month": date_list[6]})
>>> t.render(c)
 u'The month is 05  '

而真正的价值是

 >>> date_list[6].month
   6

一切都运行得很好,除了几个月的这个bug,我错过了一些基本的东西,还是django的模板引擎本身的错误?

1 个答案:

答案 0 :(得分:2)

你的时区是什么时候?日期为UTC,因此2012-06-01 00:00:00(UTC时间)仍然是前一天的另一个时区,例如2012-05-31 20:00:00在东部。

以下是相关docs

的链接