问题描述
我正在寻找一种方法来划分差异并知道消耗了多少分钟,例如:
Date 1: 2021/06/30 10:20PM
Date 2: 2021/06/30 11:20PM
Expected result:
10 PM: 40min
11 PM: 20min
另一个例子:
Date 1: 2021/06/30 9:54AM
Date 2: 2021/06/30 1:35PM
Expected result:
9AM: 6min
10AM: 60min
11AM: 60min
12PM: 60min
1 PM: 35min
caborn 有没有办法以这种格式输出?我唯一发现的是小时数的差异
$start = new Carbon('2018-10-04 15:00:03');
$end = new Carbon('2018-10-05 17:00:09');
$start->diff($end)->format('%H:%I:%s');
outputs = 02:00:06
解决方法
你可以使用这个....用你所有的例子测试
$d1 = $temp = new Carbon('2021/06/30 10:20PM');
$d2 = new Carbon('2021/06/30 11:20PM');
$results = [];
while ($temp->lt($d2)) {
$m = 60-$temp->minute;
if ((clone $temp)->addMinutes($m)->gt($d2)) {
$m = $d2->minute;
}
$results[] = sprintf('%s: %smin',$temp->format('h a'),$m);
$temp->addMinutes($m);
}
,
echo $start->diffAsCarbonInterval($end)->totalMinutes;