0

我在使用 Laravel 项目时遇到问题,我想使用 carbon 包估计我的项目中 2 次的差异。下面的代码是我用来计算的。

        $carbon_startDate = Carbon::parse($working_time['start_time'])->format('H:i:s');
        $carbon_edate = Carbon::parse($working_time['end_time'])->format('H:i:s');
        $totalDuration = Carbon::parse($carbon_startDate)->diffInHours($carbon_edate);

但在这里我面临一个新问题。我将开始时间设置为上午 6 点,结束时间设置为上午 12 点。实际上,我希望结果是 18 小时,但我在 6 小时内得到了结果。任何人都可以帮助我解决这个问题。提前致谢。

4

1 回答 1

0

我找不到更好的解决方案来解决这个问题。所以我按照自己的方式做。

这是代码,

if($carbon_startDate > $carbon_edate){
    $date= Carbon::now()->format('Y-m-d');
    $start_time = Carbon::parse($working_time['start_time'])->format(' H:i:s');
    $first_time = $date.$start_time;

    $date2= Carbon::now();
    $next_date = $date2->addDays(1)->format('Y-m-d');
    $end_time = Carbon::parse($working_time['end_time'])->format(' H:i:s');
    $last_time = $next_date.$end_time;
    $totalDuration = Carbon::parse($first_time)->diffInHours($last_time);
 }else{
    $totalDuration = Carbon::parse($carbon_startDate)->diffInHours($carbon_edate);
    $totalDuration= round($totalDuration/$min_duration);
   }
于 2021-11-19T04:28:59.957 回答