我试图根据员工显示两次之间的时差
迟到或早上班。
我试图像平常一样使用laravel像diffInMinutes()或diffInHours()这样的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分钟或其他时间。但其显示“在字符串上调用成员函数diffInMinutes()”
答案 0 :(得分:2)
您将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;
答案 1 :(得分:2)
删除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;