我想根据她的生日来计算选民的年龄,在我的实体中,我创建了一个这样的函数
//
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/