web-dev-qa-db-fra.com

Récupère la date sous forme de chaîne à partir de l'objet datetime dans doctrine 2

Dans l'une de mes entités, j'ai une propriété protégée appelée insert_date qui est un datetime.

Lorsque j'extraye les données par la suite, je n'obtiens pas la date sous forme de chaîne, j'obtiens un objet. Mon var dump:

<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>

J'ai essayé:

foreach($dateObj as $date) {

}

Mais il n'extrait pas ... Comment puis-je obtenir la propriété date de cet objet? Même $insert_date->date ne fonctionne pas.

24
dean jase

utilisation

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

Pour vous assurer que votre $ dateObj est un véritable obj datetime, utilisez:

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

l'utilisation de "instanceof" vérifie que l'objet aura la fonction de format requise donc ne générera pas d'erreurs s'il ne l'est pas.

15
Chase