从学说 2 中的 datetime 对象获取日期作为字符串

2022-08-30 17:27:13

在我的一个实体中,我有一个名为“日期时间”的受保护属性。insert_date

当我之后提取数据时,我没有将日期作为字符串获取,而是获取一个对象。我的 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>

我试过了:

foreach($dateObj as $date) {

}

但它不会提取...如何从此对象获取 date 属性?甚至不起作用。$insert_date->date


答案 1

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

答案 2

要确保您的$dateObj是实际的日期时间 obj,请使用:

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

使用“instanceof”检查对象是否具有所需的格式函数,因此如果对象不具有,则不会引发错误。


推荐