ILi*_*cos 8 php date symfony twig
如果与该行关联的日期少于30天,我正在使用twig标记表中的行.
Twig的文档说明要比较两个日期对象,您必须先将对象转换为日期,然后以这种方式进行比较:
{% 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 (---)")
Run Code Online (Sandbox Code Playgroud)
我的控制器以格式返回日期:m/d/Y如果该日期少于30天,我只想标记该行.
Ada*_*ney 20
通过获取自Unix Epoch(PHP日期格式U)以来的秒数来比较这两个日期
{% if d.LastDate|date("U") > "-30 days"|date("U") %}
<p>Less than 30 days old</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
Ven*_*tra 16
Twig 1.6 支持日期比较.
{% if date(d.LastDate) > date("-30 days") %}
<p>Less than 30 days old</p>
{% endif %}
{% if date(d.LastDate) > date("now") %}
<p>Future date</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
http://twig.sensiolabs.org/doc/functions/date.html
| 归档时间: |
|
| 查看次数: |
14606 次 |
| 最近记录: |