Laravel 碳方法返回0

Laravel 碳方法返回0,laravel,Laravel,我在模型类中有这个方法,基本上我想得到2个日期的持续时间,并以小时和秒返回,但一直返回0 public function getDuration(){ $start = Carbon::parse($this->created_at); $end = Carbon::parse(now()); $hours = $end->diffInHours($start); $seconds = $end-&

我在模型类中有这个方法,基本上我想得到2个日期的持续时间,并以小时和秒返回,但一直返回0

public function getDuration(){
        
        $start = Carbon::parse($this->created_at);
        $end = Carbon::parse(now());

        $hours = $end->diffInHours($start);

        $seconds = $end->diffInSeconds($end);

        return $hours . ':' . $seconds;
    }
刀片式

<td>{{$drug->getDuration()}}</td>
{{$drug->getDuration()}

我认为您可以使用格式,而不是单独查找差异

 public function getDuration(){

        $start = $this->created_at;
        $end = now();
        return $end->diff($start)->format('%H:%S');
    }

Change
$end=Carbon::parse(now())
$end=now()@porloscerosψ$hours正在工作,但不是$seconds。因为您使用的是相同的变量
$end->diffinsionds($end)应该是
$seconds=$end->diffunseconds($start)
另外,您要知道,
now()
Carbon::now()
的别名,因此您也可以使用它,但不能使用
Carbon::parse(now())
。如果需要,也可以使用
Carbon::today()
,但它的时、分、秒数为0。