如何拨打' time_diff'在Twig中过滤

时间:2015-11-30 14:59:27

标签: php html html5 symfony twig

如何拨打' time_diff '功能在Twig

代码

{{ post.created_at|time_diff }}

输出

The filter "time_diff" does not exist

4 个答案:

答案 0 :(得分:20)

如果你正在使用Symfony 2,

想要使用部分native twig extension

您必须将服务声明为:

services:
    twig.extension.date:
       class: Twig_Extensions_Extension_Date
       tags:
            - { name: twig.extension }

答案 1 :(得分:2)

首先你需要:

composer require twig/extensions

然后你需要注册日期扩展名:

$twig->addExtension(new Twig_Extensions_Extension_Date());

之后你可以使用time_diff过滤器。 All in docs

答案 2 :(得分:2)

我建议您使用KnpTimeBundle

所以你可以简单地与当前日期进行比较:

{# Returns something like "3 minutes ago" #}
{{ time_diff(myEntity.getMyTimeField) }}

这与另一个日期比较:

{# Returns something like "3 minutes ago" #}
{{ time_diff(myEntity.getMyTimeField , to ) }}

默认情况下启用翻译,只需查看翻译文件或根据需要添加。

希望这个帮助

答案 3 :(得分:1)

您添加了date extension吗?

在使用此格式之前添加以下行:

$twig->addExtension(new Twig_Extensions_Extension_Date());