How can I call the 'time_diff' function In Twig
The code
{{ post.created_at|time_diff }}
Output
The filter "time_diff" does not exist
How can I call the 'time_diff' function In Twig
The code
{{ post.created_at|time_diff }}
Output
The filter "time_diff" does not exist
If you're using Symfony 2,
And want to use some of the native twig extension
You have to declare as service something like :
services:
twig.extension.date:
class: Twig_Extensions_Extension_Date
tags:
- { name: twig.extension }
At first you need:
composer require twig/extensions
Then you need to register Date extension:
$twig->addExtension(new Twig_Extensions_Extension_Date());
After that you could use time_diff filter. All in docs
I suggest You to use the KnpTimeBundle
So you can simply compare with the current date:
{# Returns something like "3 minutes ago" #}
{{ time_diff(myEntity.getMyTimeField) }}
This compare with the another date:
{# Returns something like "3 minutes ago" #}
{{ time_diff(myEntity.getMyTimeField , to ) }}
The translation is enabled by default, simply review the translations files or add as you need.
Hope this help
Did you add the date extension?
Add the following line before using this formatting:
$twig->addExtension(new Twig_Extensions_Extension_Date());
Just install the time bundle, and the |ago filter will automatically work.
composer req knplabs/knp-time-bundle
{{ post.created_at|ago }}
The more modern way is to use stimulus https://www.stimulus-components.com/docs/stimulus-timeago
Then the time shown is accurate, even for a static page (e.g. a SPA).
© 2022 - 2025 — McMap. All rights reserved.