如何在django模板中格式化dateTime?

时间:2009-07-24 21:55:13

标签: django django-models

那:

{{ wpis.entry.lastChangeDate|date:"D d M Y" }}

给了我(为什么?):

2009-07-24 21:45:38.986156 

我不知道如何跳过分数部分...

在我的模特中我有:

addedDate = models.DateTimeField(default=datetime.now)

4 个答案:

答案 0 :(得分:128)

这正是你想要的。试试这个:

{{ wpis.entry.lastChangeDate|date:'Y-m-d H:i' }}

答案 1 :(得分:5)

您可以使用:

addedDate = datetime.now().replace(microsecond=0)

答案 2 :(得分:4)

我怀疑wpis.entry.lastChangeDate在到达模板之前已经以某种方式转换为视图中的字符串。

为了验证这个假设,您可以在视图中检查它是否有一些只有字符串的属性/方法 - 例如wpis.entry.lastChangeDate.upper,然后查看模板是否崩溃。

您还可以创建自己的custom filter,并将其用于调试目的,让它检查对象,在页面上或在控制台上编写检查结果。它能够检查对象,并检查它是否真的是一个DateTimeField。

在不相关的通知中,为什么不使用models.DateTimeField( auto_now_add =True)来设置创建日期时间?

答案 3 :(得分:0)

{{wpis.entry.lastChangeDate | date:“ SHORT_DATETIME_FORMAT”}}