我想根据她的生日来计算选民的年龄,在我的实体中,我创建了一个这样的函数
//

public function getAge()
{
    $birthday = $this->birthday;
    $age = date_diff(date_create($birthday),date_create('today'))->y;
    return $age;
}

我把这个渲染成这样
<td>{{ entity.getAge() }}</td>

但显示以下错误:
“在呈现dubundle:voctors:index.html.twig的第32行模板期间引发了异常(warning:date\u create()期望参数1为字符串,给定对象)。”
如何解决这个问题?我在symfony 1.4的老项目中使用了这个php模板,它可以毫无问题地呈现投票者的当前年龄。
在旧的symfony 1.4中,我用这种方式
<td><?php echo date_diff(date_create($total->birthday), date_create('today'))->y; ?></td>

最佳答案

如果你的$birthday字段是DateTime对象,你可以使用这种方法:

public function getAge()
    {
        if (!$this->birthday) return "";// put here what you want if no birthdayprovided
        $now = new \DateTime('now');
        return $now->diff($this->birthday)->format("%y");
    }

希望能帮上忙

关于php - PHP date_create()的Twig异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31845930/

10-10 01:58