致命错误:使用PHP函数调用成员函数format()


Fatal error: Call to a member function format() using PHP function

我正试图以以下方式转换日期,并且它的工作正常

$strdate = '1st of September 2014 Mon';
contime($strdate);

现在,我尝试以以下方式转换日期,但它不起作用

$strdate = $fetch_resdetails['coupondate'];
contime($strdate);

我正在获取Fatal error: Call to a member function format()

PHP类:

function contime($gettime) {
        $date = DateTime::createFromFormat("jS 'of F Y D", $gettime);
        return $date->format('Ymd');      
}

为什么$strdate工作得很好,而$fetch_resdetails['coupondate'];却不工作?

即使当CCD_ 4打印为CCD_;

<?php
function contime($gettime) {
    $date = DateTime::createFromFormat("jS 'of F Y D", $gettime);
    return $date->format('Y-m-d');      
}
$fetch_resdetails = array( 'getdate'    => '1st of September 2014 Mon' );
$strdate = $fetch_resdetails['getdate'];
$date = contime($strdate);
print_r( $date );

这是有效的。。你能用这个代码检查一下吗。。

<?php
ini_set("display_errors",1);
error_reporting(E_ALL);
$strdate = '1st of September 2014 Mon';
echo contime($strdate);
$fetch_resdetails['coupondate']="1st of September 2014 Mon";
$strdate = $fetch_resdetails['coupondate'];
echo contime($strdate);
function contime($gettime) {
        $date = DateTime::createFromFormat("jS 'of F Y D", $gettime);
        return $date->format('Ymd');      
}  

这是有效的。为了得到你的错误,我发送了$fetch_resdetails['cupondate'],但没有分配任何内容,并且得到了相同的错误。所以在发送$fetch.resdetails['cupondate']之前,检查它是否有值。