web-dev-qa-db-ja.com

doctrine 2のdatetimeオブジェクトから文字列として日付を取得する

エンティティの1つに、insert_dateというdatetimeである保護されたプロパティがあります。

その後、データを抽出すると、日付を文字列として取得せず、オブジェクトを取得します。私のvarダンプ:

<pre class='xdebug-var-dump' dir='ltr'> <b>object</b>(<i>DateTime</i>)[<i>1560</i>] <i>public</i> 'date' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'2011-08-26 12:40:29'</font> <i>(length=19)</i> <i>public</i> 'timezone_type' <font color='#888a85'>=&gt;</font> <small>int</small> <font color='#4e9a06'>3</font> <i>public</i> 'timezone' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'Europe/London'</font> <i>(length=13)</i> </pre><pre class='xdebug-var-dump' dir='ltr'> <b>object</b>(<i>DateTime</i>)[<i>1571</i>] <i>public</i> 'date' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'2011-08-26 12:40:29'</font> <i>(length=19)</i> <i>public</i> 'timezone_type' <font color='#888a85'>=&gt;</font> <small>int</small> <font color='#4e9a06'>3</font> <i>public</i> 'timezone' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'Europe/London'</font> <i>(length=13)</i>

私は試した:

foreach($dateObj as $date) {

}

しかし、それは抽出されません...このオブジェクトから日付プロパティを取得するにはどうすればよいですか? $insert_date->dateでも機能しません。

24
dean jase

使用する

if($dateObj)
{
    $dateObj->format('Y-m-d H:i:s');
}
54
Pramendra Gupta

$ dateObjが実際の日時オブジェクトであることを確認するには、次を使用します。

if($dateObj instanceof \DateTime){
    $dateObj->format('Y-m-d H:i:s');
}

「instanceof」を使用すると、オブジェクトに必要なフォーマット関数があることを確認し、そうでない場合はエラーをスローしません。

15
Chase