有没有Django模板过滤器可以将日期时间转换为“5小时前”或“12天前”?

3 投票
3 回答
3435 浏览
提问于 2025-04-16 09:20

假设我有一个日期和时间。我这样做:

Submitted on {{ post.date|date:"D. M d, P" }}

这实际上会打印出具体的日期。不过,如果我想让它显示成“4小时前”或者“55天前”或者“2个月前”该怎么办呢?

3 个回答

1

试试这个代码片段。在1.3版本之前,Django里是没有这个功能的。

4

更新: 我们可以假设你在模型中有一个 post_date 属性,用来记录你保存帖子时的时间。present.time 是当你访问这个帖子时,模板上显示的当前时间。这就是你所寻找的内容的推荐实现方式

Submitted on {{ present.date|timesince:post_date }} ago.
18

试试这个模板过滤器 timesince

用法如下:

{{ mytemplatevar|timesince }}

撰写回答