将 Mysql 日期时间与 Twig Date() 进行比较

Comparing Mysql Datetime with Twig Date()

我有一些名为 setting.graduate_startsetting.graduate_end 的变量。两者都有 MySQL DATETIME 格式,如 2020-08-05 11:55:00.
如果今天在 setting.graduate_startsetting.graduate_end.

之间,我只想显示一个菜单

所以我写了这样的代码:

 {% if date(setting.graduate_start) > date() and date(setting.graduate_end) < date()%}
      <li><a href="/graduation">Graduation</a></li>
 {% endif %}

setting.graduate_start2020-08-05 11:55:00setting.graduate_end2020-08-10 12:00:00,因此,当今天是 2020-08-06 时,列表元素应该显示但它没有't.

我该如何解决?

date(),在 Twig 中,is a filter to format date, alone it doesn't do anything

如果您想要当前日期,则需要使用 'now' | date(),但仍然无法提供您期望的格式。

但是按照文档中的提示:

The format specifier is the same as supported by date, except when the filtered data is of type DateInterval, when the format must conform to DateInterval::format instead.

来源:https://twig.symfony.com/doc/3.x/filters/date.html#date

所有这些加在一起:

{% if 'now' | date('Y-m-d H:i:s') > setting.graduate_start | date('Y-m-d H:i:s') and 'now' | date('Y-m-d H:i:s') < setting.graduate_end | date('Y-m-d H:i:s')  %}
  <li><a href="/graduation">Graduation</a></li>
{% endif %}

呈现您的 link as it should.