その行に関連付けられた日付が30日未満の場合、小枝を使用してテーブルの行にフラグを立てています。
Twig のドキュメントには、2 つの日付オブジェクトを比較するには、最初にオブジェクトを日付に変換してから、次のように比較する必要があると記載されています。
{% if date(yourDate) < date(-'30days') %} ... {% endif %}
ただし、比較の左側に日付形式を渡す方法は指定されていません。Twig の日付関数は、PHP の日付のラッパーのようなものであることを理解しています。
PHP では、通常次のように呼び出します。
$myDate = \DateTime::createFromFormat("m/d/Y", $myDate);
しかし、Twig では、別の形式に変換するために元の日付の形式を指定する方法がないか、少なくともドキュメントには記載されていないようです。
これは私が試したことです:
{% if date(d.LastDate) > date('-30days') %}...{% endif %}
{% if d.LastDate | format("Y-m-d") > date('-30days') %}...{% endif %}
{% if date("m/d/Y", d.LastEmailSentDate) > date('-30days') %}...{% endif %}
これらの条件とそのバリエーションは、Symfony2 で次の例外を返します。
An exception has been thrown during the rendering of a template
("DateTimeZone::__construct(): Unknown or bad timezone (---)")
私のコントローラーは次の形式で日付を返しています。m/d/Y
その日付が 30 日未満の場合、その行にフラグを立てたいだけです。