如何在Django中检查日期是否是昨天

1 投票
2 回答
2954 浏览
提问于 2025-04-18 17:13

我想比较数据库中的一些日期字段,看看它们是旧的还是今天提交的,我有这段代码

        {% if accounts.date.day == 13 %}
            {{ accounts.name }}
        {% endif %}

但是我觉得这段代码只在每个月的13号有效,我不想只检查是否是13号,我想检查它是不是今天

我尝试做了

        {% if accounts.date.day < today %}
            {{ accounts.name }}
        {% endif %}

还有在视图中

        today = datetime.datetime.now()

但这也不行

2 个回答

2
today = datetime.date.today()  
if (today - accounts.date).days == 1:
    print "%s is yesterday!"%accounts.date

可能吧?

这假设 accounts.date 是一个 datetime.date 的实例。

if {% if (today.date - accounts.date).days == 1 %} 

在模板中可能有效……或者你可以创建一个过滤器(我会这么做)。

def isYesterday(a_date):
    return (datetime.date.today()-a_date).days == 1

然后就这样做:

{% if accounts.date | isYesterday %}
3

如果账户的日期是日期时间格式的话,可以试试这个

{% if accounts.date < today %}
   {{ accounts.name }}
{% endif %}

撰写回答