Skip to main content
 首页 » 编程设计

python之如何比较django模板中的日期时间

2024年08月30日31davidwang456

背景:

我只想显示 1 周前的时间和日期。之后我只想显示日期。

我想做这样的事情。 (这不起作用)

{% if greenboard.datetime|timesince >= "1 week" %} 
    {{greenboard.datetime.date}}<br /> 
{% else %} 
    {{greenboard.datetime|timesince}} ago 
{% endif %} 

编辑: 嗨,即便如此,我得到的只是时间以及所有参数……即日期时间。模板标签应该是什么?截至目前使用这个

{{ greenboard.datetime|timesince_threshold:2 }}

它给出了发布和尝试使用的确切时间

{{ greenboard.datetime|timesince }} 这给没有。数周和数天。仍然无法弄清楚。

请您参考如下方法:

timesince 是 django.utils.timesince 函数的简单包装器。解决您问题的最简单方法是编写自定义过滤器:

from datetime import datetime, timedelta 
from django import template 
from django.utils.timesince import timesince 
 
register = template.Library() 
 
@register.filter 
def timesince_threshold(value, days=7): 
    """ 
    return timesince(<value>) if value is more than <days> old. Return value otherwise 
    """ 
 
    if datetime.now() - value < timedelta(days=days): 
        return timesince(value) 
    else: 
        return value 
timesince_threshold.is_safe = False