两次时差显示 Error in Laravel Carbon

Two time difference show Error in Laravel Carbon

我试图根据员工显示两次时间之间的差异 迟到或早到办公室。
我尝试像往常一样使用 laravel 像 diffInMinutes() 或 diffInHours() 这样的 Carbon 程序。
但是它产生了一个我意想不到的致命错误。
注意:Carbon 已经在控制器顶部使用,如下所示:
使用 Carbon\Carbon;
我也试过用

 protected $dates = ['created_at', 'updated_at','enter_time'];
   $official_Entry_time = Carbon::parse('10:00:00 AM')->format("H:i:s A");
   /* 
     $data->enter_time contain actual entry time. retrieve from database.
    Guess enter time is : $data->enter_time = '12:35:20 PM';
  */
   $Enter_Time = Carbon::parse($data->enter_time)->format("H:i:s A"); 
   $lateOrEarly = $official_Entry_time->diffInMinutes($Enter_Time);
   echo $lateOrEarly; 

我预计输出时间为 22 分钟或其他。但它显示 'Call to a member function diffInMinutes() on string'

您将 Carbon 对象格式化为字符串。只需使用 Carbon 对象

$official_Entry_time = Carbon::parse('10:00:00 AM');

$Enter_Time = Carbon::parse($data->enter_time);

$lateOrEarly = $official_Entry_time->diffInMinutes($Enter_Time);

echo $lateOrEarly; 

删除 format() 然后试试..它对我有用

 $official_Entry_time = Carbon::parse('10:00:00 AM');
    /* 
      $data->enter_time contain actual entry time. retrieve from database.
     Guess enter time is : $data->enter_time = '12:35:20 PM';
   */
    $Enter_Time = Carbon::parse('12:35:20 PM');
    $lateOrEarly = $official_Entry_time->diffInMinutes($Enter_Time);
    echo $lateOrEarly;