我在班上遇到了datetime属性的问题。
下一个代码在我的树枝模板中。
<div class="process-photo"><img src="{{ photo.getPhotoUrl }}" /></div>
这是getPhotoUrl方法
public function getPhotoUrl()
{
return '/web/uploads/photos/'.$this->getUserId().'/'.$this->getPhotoUploadDate().'/'.$this->getName();
}
这是getPhotoUploadDate方法
public function getPhotoUploadDate() {
return date('Y-m-d', strtotime($this->creationDate));
}
我收到下一个错误 - 警告:strtotime()期望参数1为字符串,给定对象
如果我这样试试
public function getPhotoUrl()
{
return '/web/uploads/photos/'.$this->getUserId().'/'.$this->creationDate.'/'.$this->getName();
}
我收到下一个错误 - Catchable Fatal Error:类DateTime的对象无法转换为字符串
我做错了什么?
答案 0 :(得分:3)
错误消息
类DateTime的对象无法转换为字符串
是您需要的所有信息。
$this->creationDate
是一个DateTime对象,它已包含Date信息。
因此,您可以轻松date('Y-m-d', strtotime($this->creationDate))
代替$this->creationDate->format('Y-m-d')
。
您尝试从另一个日期字符串创建新的Datestring,而不是给出一个日期字符串,而是提供DateTime
对象。