Carbon:以小时格式(以秒为单位)拆分日期时间差异



我正在寻找一种方法来分割差异,并知道一小时中消耗了多少分钟,例如:

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;

最新更新