I found out that I can create my own Twig_SimpleFilter Twig_SimpleFilter .
$filter = new Twig_SimpleFilter('timeago', function ($datetime) { $time = time() - strtotime($datetime); $units = array ( 31536000 => 'year', 2592000 => 'month', 604800 => 'week', 86400 => 'day', 3600 => 'hour', 60 => 'minute', 1 => 'second' ); foreach ($units as $unit => $val) { if ($time < $unit) continue; $numberOfUnits = floor($time / $unit); return ($val == 'second')? 'a few seconds ago' : (($numberOfUnits>1) ? $numberOfUnits : 'a') .' '.$val.(($numberOfUnits>1) ? 's' : '').' ago'; } });
Then I add it to the Twig environment:
$twig = $app->view()->getEnvironment();
Use it my template as follows:
{{2014-10-11 12:54:37|timeago}}
Mark s
source share