如何在Jinja2中比较两个日期?

11 投票
2 回答
11786 浏览
提问于 2025-05-01 08:36

在Jinja中,有没有特定的方法来比较两个日期?

我在网上搜索过,但几乎没有找到和这个具体问题相关的内容。

我找到的最接近的资料是来自官方的Jinja2文档:

It is also possible to sort by an attribute (for example to sort by the date of an object) by specifying the attribute parameter:

{% for item in iterable|sort(attribute='date') %}
    ...
{% endfor %}
暂无标签

2 个回答

-2

我也遇到过这个问题,不过我用了一种不同的方法来解决。与其使用日期,不如试试用物品的ID来处理。

{% if item.id < 561095 %}
   DO ONE THING
{% else %}
   DO SOMETHING ELSE
{% endif %}
7

我不太确定你想要什么,但这是你如何将一个时间日期和当前时间进行比较的方法。

我发现一个时间日期对象可以用来创建一个新的时间日期对象:

In [1]: import datetime

In [2]: wasNow = datetime.datetime.now()

In [3]: wasNow
Out[3]: datetime.datetime(2017, 7, 28, 14, 17, 21, 889530)

In [4]: wasNow.now()
Out[4]: datetime.datetime(2017, 7, 28, 14, 17, 30, 105077)

现在你在jinja模板中有了一个日期对象,你可以从已有的日期对象创建一个新的时间日期对象,并像这样进行比较:

{% if item.date < item.date.now() %}
  <p> This will display if the item.date is before item.date.now(). </p>
{% endif %}

希望这能帮助你在使用jinja时比较日期。

撰写回答