DateTime格式要求参数1为字符串,给定对象 - Symfony2

时间:2015-11-02 15:58:14

标签: php datetime

在尝试将日期间隔插入表格时,我在使用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对象,因为任何一个失败但警告我我需要使用其中一个..

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我猜$invoice->setDueDate()是期​​待DateTime实例的人。所以该行应为$invoice->setDueDate($interval);