在尝试将日期间隔插入表格时,我在使用Symfony2中的格式功能时遇到了一些麻烦,目的是为创建的发票设置截止日期。
这就是我所拥有的:
$today = new \DateTime();
$interval = $today->add(new \DateInterval('P1M'));
$invoice->setDueDate($interval->format('Y-m-d H:i:s'));
但是,当我将鼠标悬停在PHPStorm中的format参数上时,它告诉我它期望DateTime对象不是字符串,并且我在我的探查器中收到以下错误:
错误:在字符串
上调用成员函数format()
所以,我改变了这一行:
$invoice->setDueDate($interval->format(new \DateTime()));
但是当我运行它时,我的探查器会出现此错误:
警告:DateTime :: format()期望参数1为字符串,对象为
这几乎看起来像一个捕获22的情况!我真的很困惑,我是否使用字符串或DateTime对象,因为任何一个失败但警告我我需要使用其中一个..
有什么想法吗?
答案 0 :(得分:1)
我猜$invoice->setDueDate()
是期待DateTime
实例的人。所以该行应为$invoice->setDueDate($interval);