2015-11-02 33 views
1

爲了設置創建發票的截止日期,我在使用Symfony2中的格式函數嘗試向表中插入日期間隔時遇到了一些麻煩。DateTime格式期望參數1是字符串,給定的對象 - Symfony2

以下是我有:

$today = new \DateTime(); 
$interval = $today->add(new \DateInterval('P1M')); 
$invoice->setDueDate($interval->format('Y-m-d H:i:s')); 

然而,當我懸停在PHPStorm format參數,它告訴我,它期待一個DateTime對象不是一個字符串,我得到了下面的錯誤我探查:

Error: Call to a member function format() on string

所以,我改了行這樣:

$invoice->setDueDate($interval->format(new \DateTime())); 

但是,當我運行,我的分析器給出了這個錯誤:

Warning: DateTime::format() expects parameter 1 to be string, object given

它幾乎看起來像一個趕上22的情況!我真的很困惑,我使用一個字符串或DateTime對象,因爲任何一個失敗,但警告我,我需要使用一個或另一個..

任何想法?

回答

1

我猜想$invoice->setDueDate()是期望DateTime實例的那個。所以行應該是$invoice->setDueDate($interval);

+0

你是絕對正確的 - 我只需要默認的格式,所以真的不需要聲明它!謝謝! –

相關問題