Laravel Carbon - 如何添加分钟
Laravel Carbon - How to add minutes
我有一个表格要求 4 小时,这是早上的开始和结束时间,下午也一样。
我正在使用 Carbon
,但如果我输入 30 分钟,它会 return 为 0,它向下舍入。
我尝试使用 diffInHours
和 diffInMinutes
,但它总是以两种方式向下舍入。
这是我的代码示例:
$startTime1 = Carbon::createFromFormat('H:s', '09:00');
$startTime2 = Carbon::createFromFormat('H:s', '10:30');
$startTime3 = Carbon::createFromFormat('H:s', '14:00');
$startTime4 = Carbon::createFromFormat('H:s', '16:00');
$morningTime = $startTime2->diffInHours($startTime1);
$afternoonTime = $startTime4->diffInHours($startTime3);
$total = $morningTime + $afternoonTime;
在$morningTime
中它returns 1并且应该return 1,30。
在 $afternoonTime
中 returns 2 是正确的。
如果我使用 diffInMinutes
,它将 60 放入 $morningTime
,将 120 放入 $afternoonTime
。早上时间又错了
我该如何解决?
谢谢
您正在以 Carbon 格式分配秒数 H:s
,请使用 H:i
:
$startTime1 = Carbon::createFromFormat('H:i', '10:30');
并且您可以使用format()方法来格式化时间差异
$morningTime = $startTime2->diff($startTime1)->format('%H:%I');
编辑:无法合并dateInterval实例,但您仍然可以使用时间戳:
$total_in_seconds = ($startTime2->timestamp - $startTime1->timestamp) + ($startTime4->timestamp - $startTime3->timestamp);
$total = Carbon::createFromTimestamp($total_in_seconds)->format('h:i');
我有一个表格要求 4 小时,这是早上的开始和结束时间,下午也一样。
我正在使用 Carbon
,但如果我输入 30 分钟,它会 return 为 0,它向下舍入。
我尝试使用 diffInHours
和 diffInMinutes
,但它总是以两种方式向下舍入。
这是我的代码示例:
$startTime1 = Carbon::createFromFormat('H:s', '09:00');
$startTime2 = Carbon::createFromFormat('H:s', '10:30');
$startTime3 = Carbon::createFromFormat('H:s', '14:00');
$startTime4 = Carbon::createFromFormat('H:s', '16:00');
$morningTime = $startTime2->diffInHours($startTime1);
$afternoonTime = $startTime4->diffInHours($startTime3);
$total = $morningTime + $afternoonTime;
在$morningTime
中它returns 1并且应该return 1,30。
在 $afternoonTime
中 returns 2 是正确的。
如果我使用 diffInMinutes
,它将 60 放入 $morningTime
,将 120 放入 $afternoonTime
。早上时间又错了
我该如何解决?
谢谢
您正在以 Carbon 格式分配秒数 H:s
,请使用 H:i
:
$startTime1 = Carbon::createFromFormat('H:i', '10:30');
并且您可以使用format()方法来格式化时间差异
$morningTime = $startTime2->diff($startTime1)->format('%H:%I');
编辑:无法合并dateInterval实例,但您仍然可以使用时间戳:
$total_in_seconds = ($startTime2->timestamp - $startTime1->timestamp) + ($startTime4->timestamp - $startTime3->timestamp);
$total = Carbon::createFromTimestamp($total_in_seconds)->format('h:i');