Need help with KnpTimeBundle?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

490 Stars 104 Forks MIT License 306 Commits 7 Opened issues


Provides helpers for time manipulation

Services available


Need anything else?

Contributors list

Friendly ago dates ("5 minutes ago")!

This bundle does one simple job: takes dates and gives you friendly "2 hours ago"-type messages. Woh!

Last edited {{ post.updatedAt|ago }}

Want to see it used in a screencast 🎥? Check out SymfonyCasts:

The date formatted can be translated into any language, and many are supported out of the box.


Use Composer to install the library:

composer require knplabs/knp-time-bundle

Woo! You did it! Assuming your project uses Symfony Flex, the bundle should be configured and ready to go. If not, you can enable



In Twig:

{{ someDateTimeVariable|ago }}

... or use the equivalent function: {{ time_diff(someDateTimeVariable) }}

Note: the "ago" filter works fine for dates in the future, too.

In controllers

You can also "ago" dates inside PHP by autowiring the

use Knp\Bundle\TimeBundle\DateTimeFormatter;
// ...

public function yourAction(DateTimeFormatter $dateTimeFormatter) { $someDate = new \DateTime('2017-02-11'); //or $entity->publishedDate() $now = new \DateTime();

$agoTime = $dateTimeFormatter->formatDiff($someDate, $now);
return $this->json([
    'published_at' => $agoTime


Controlling the Translation Locale

The bundle will automatically use the current locale when translating the "ago" messages. However, you can override the locale:

{{ someDateTimeVariable|ago(locale='es') }}


If you want to run tests, please check that you have installed dev dependencies.



Anyone can contribute to this repository (and it's warmly welcomed!). The following people maintain and can merge into this library:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.