【问题标题】:Carbon: split datetime diff in hours format (by seconds)Carbon:以小时格式拆分日期时间差异(以秒为单位)
【发布时间】:2021-09-13 03:07:42
【问题描述】:

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

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

【问题讨论】:

    标签: php laravel php-carbon


    【解决方案1】:
    echo $start->diffAsCarbonInterval($end)->totalMinutes;
    

    【讨论】:

    • 虽然此代码可以回答问题,但提供有关 如何 和/或 为什么 解决问题的附加上下文将改善答案的长期价值。
    【解决方案2】:

    你可以使用这个....用你所有的例子测试

        $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);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 2012-09-13
      • 1970-01-01
      相关资源
      最近更新 更多