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

我有一些名为setting.graduate_start和 的变量setting.graduate_end。两者都具有 MySQL DATETIME 格式,例如2020-08-05 11:55:00.

我想要的只是如果今天在setting.graduate_start 和之间显示菜单setting.graduate_end。


所以我写了这样的代码:


 {% if date(setting.graduate_start) > date() and date(setting.graduate_end) < date()%}

      <li><a href="/graduation">Graduation</a></li>

 {% endif %}

setting.graduate_startis2020-08-05 11:55:00和setting.graduate_endis 2020-08-10 12:00:00,因此,当今天是时,2020-08-06列表元素应该显示,但事实并非如此。


我该如何修复它?


慕妹3242003
浏览 65回答 1
1回答

30秒到达战场

date(),在Twig中,是一个格式化日期的过滤器,单独它不做任何事情。如果您想要当前日期,则需要使用'now' | date(),但这仍然无法提供您期望的格式。但正如文档中提示的:格式说明符与date支持的相同,但过滤数据的类型为DateInterval时除外,此时格式必须符合DateInterval::format。综上所述:{% 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 %}
打开App,查看更多内容
随时随地看视频慕课网APP