在我的一个实体中,我有一个名为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'>=></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'>=></font> <small>int</small> <font color='#4e9a06'>3</font> <i>public</i> 'timezone' <font color='#888a85'>=></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'>=></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'>=></font> <small>int</small> <font color='#4e9a06'>3</font> <i>public</i> 'timezone' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'Europe/London'</font> <i>(length=13)</i>
我试过了:
foreach($dateObj as $date) {
}
但是它没有提取......我如何从这个对象中获取日期属性?即使$insert_date->date
也不起作用。
答案 0 :(得分:53)
使用
if($dateObj)
{
$dateObj->format('Y-m-d H:i:s');
}
答案 1 :(得分:14)
要确保您的$ dateObj是实际的日期时间obj,请使用:
if($dateObj instanceof \DateTime){
$dateObj->format('Y-m-d H:i:s');
}
使用“instanceof”检查对象是否具有所需的格式函数,因此如果不是则不会抛出错误。