计算Django模板中两个日期之间的天数

时间:2011-10-25 10:29:05

标签: python django

我有两个约会,并希望显示一条消息,例如“在试用期结束前n天”。其中n是两个给定日期之间的天数。在内部视图中执行此操作会更好吗?或者在模板内部有一个快速的方法吗?

3 个答案:

答案 0 :(得分:11)

使用timesince模板标记。

答案 1 :(得分:1)

可能重复here

我实际上使用了lazerscience使用的相同方法,如下所示:

from datetime import datetime, timedelta
from django import template
from django.utils.timesince import timesince

register = template.Library()

@register.filter
def time_until(value):
    now = datetime.now()
    try:
        difference = value - now
    except:
        return value

    if difference <= timedelta(minutes=1):
        return 'just now'
    return '%(time)s ago' % {'time': timesince(value).split(', ')[0]}

答案 2 :(得分:1)

此代码用于Django中的HTML。您可以轻松找到剩余的日子。

{{ to_date|timeuntil:from_date }}

否则,您可以使用自定义TemplateTag。