Получить дату в виде строки из объекта datetime в доктрине 2


В одной из моих сущностей у меня есть защищенное свойство под названием insert_date, которое является датой и временем.

Когда я извлекаю данные впоследствии, я не получаю дату в виде строки, я получаю объект. Мой дамп 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 не работает.

Author: glts, 2011-08-26

2 answers

Использовать

if($dateObj)
{
    $dateObj->format('Y-m-d H:i:s');
}
 51
Author: Pramendra Gupta, 2011-08-26 15:34:00

Чтобы убедиться, что ваш $dateObj является фактическим объектом datetime, используйте:

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

Использование "instanceof" проверяет, что объект будет иметь требуемую функцию форматирования, поэтому не будет выдавать ошибок, если это не так.

 14
Author: Chausser, 2013-05-21 17:39:40