Php date_diff()要求参数2为DateTimeInterface,第234行给出布尔值

Php date_diff()要求参数2为DateTimeInterface,第234行给出布尔值,php,Php,我得到以下错误,我不知道如何解决它 date_diff()要求参数2为DateTimeInterface,第234行给出布尔值 代码如下: public static function timeLeft($datetime, $out_in_array=false, $html = false) { $intervalo = date_diff(date_create(), date_create($datetime)); ---------- LINE 234

我得到以下错误,我不知道如何解决它

date_diff()要求参数2为DateTimeInterface,第234行给出布尔值

代码如下:


public static function timeLeft($datetime, $out_in_array=false, $html = false) {
      $intervalo = date_diff(date_create(), date_create($datetime)); ----------   LINE 234
        $out = $intervalo->format("%d d, %H h, %i m"); 

        if(!$out_in_array) {
            if($html) {
                return $intervalo->invert ? "<b class='red'>-$out</b>" : "<b class='green'>$out</b>";
            }

            return $intervalo->invert ? "-$out" : $out;
        }

        return [
            'days' => $intervalo->d,
            'hours' => $intervalo->h,
            'minutes' => $intervalo->i,
            'seconds' => $intervalo->s,
        ];
    } 

公共静态函数timeLeft($datetime,$out\in\u数组=false,$html=false){
$intervalo=date_diff(date_create(),date_create($datetime));------------第234行
$out=$intervalo->格式(“%d、%H、%i m”);
if(!$out\u in\u数组){
如果($html){
返回$intervalo->invert?”-$out:“$out”;
}
返回$intervalo->invert?”-$out:$out;
}
返回[
“天”=>$intervalo->d,
“小时数”=>$intervalo->h,
“分钟数”=>$intervalo->i,
“秒”=>$intervalo->s,
];
} 

您有一个错误,因为date_diff()必须有2个参数。 您的代码:

$intervalo = date_diff(date_create(), date_create($datetime));
date_create()<没有参数。所以你只有第二个参数。更正>创建日期($datetime)

如何正确使用:

$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);

date\u create
是一个别名,它在出错时返回
false
。什么是$datetime?它正在创建一个错误,因此您需要查看是什么将不正确的变量传递给您的函数
date\u create
可以在没有任何参数的情况下使用。因为它是
DateTime::construct
的别名,如果您阅读错误消息,则希望参数2为。这是参数2的问题,不是第一个。是的,我错了,我看不清楚。可能格式错误?