出生年龄过滤的简单日期

如何 …

1 - 使用扩展的 twig 扩展类

use \Twig_Extension

class dobToAge extends \Twig_Extension {

2 - 通过重写 getFilters() 方法添加适当的过滤器

 public function getFilters() {
        return array(
            'age' => new \Twig_Filter_Method($this, 'getAge'),
        );
 }

3 - 添加一些逻辑以获得给定出生日期的年龄

 public function getAge($date) 
     {
        if (!$date instanceof \DateTime) {
        // turn $date into a valid \DateTime object or let return
        return null;
         }

     $referenceDate = date('01-01-Y');
     $referenceDateTimeObject = new \DateTime($referenceDate);
     $diff = $referenceDateTimeObject->diff($date);
     return $diff->y;
    }
}

然后,按如下方式调用过滤器,

{{ yourDateOfBirthInstance | age }}