Symfony2的。 Twig:当日期变量改变时,它没有工作逻辑功能

时间:2015-09-02 02:07:43

标签: twig

{% set event_date = event.schedule|date('d-m-y') %}
{% set nowdate = "now"|date('d-m-y') %}
{% if event_date < nowdate %}
    view some 1
{% else %}
    view some 2
{% endif %}

如果将 event_date 更改为大于或小于 nowdate ,则会产生一个结果:查看某些2 。 为什么不起作用?

3 个答案:

答案 0 :(得分:1)

您正在比较字符串。 d-m-y不是比较日期的可用格式。试试Y-m-d,其中的部分按重要性排序。

更好的是,您可以比较两个\DateTime个对象而不是字符串。我假设event.schedule是一个,你只需要将当前日期之一传递给树枝。

答案 1 :(得分:1)

您处于字符串比较状态。为了更好地处理此问题,请使用U过滤器,如下所示:

{% set event_date = event.schedule|date('U') %}
{% set nowdate = "now"|date('U') %}
{% if event_date < nowdate %}
    view some 1
{% else %}
    view some 2
{% endif %}

{{ event_date }}

在此fiddle进行实时测试。

希望这个帮助

答案 2 :(得分:0)

除了date filter之外,Twig还​​定义了date() function,其精确设计用于比较日期。