如何计算总分钟LARAVEL

时间:2017-06-23 11:31:51

标签: php laravel

我想用我的数据计算总分钟数。

  

[{ “ID”:3 “zone_id”:21, “created_at”:“2017年6月22日   9时49分33" 秒, “的updated_at”:“2017年6月22日   09:49:33“,”deviceNo“:”ogrv“,”type“:”0“},{”id“:4,”zone_id“:22,”created_at“:”2017-06-22   9" 时50分09秒, “的updated_at”:“2017年6月22日   09:50:09“,”deviceNo“:”ogrv“,”type“:”1“},{”id“:5,”zone_id“:21,”created_at“:”2017-06-22   9时50分35" 秒, “的updated_at”:“2017年6月22日   09:50:35“,”deviceNo“:”ogrv“,”type“:”0“},{”id“:6,”zone_id“:22,”created_at“:”2017-06-22   11时51分52" 秒, “的updated_at”:“2017年6月22日   11:51:52“,”“deviceNo”:“ogrv”,“type”:“1”},{“id”:7,“zone_id”:21,“created_at”:“2017-06-22   11点54分57" 秒, “的updated_at”:“2017年6月22日   11:54:57“,”deviceNo“:”ogrv“,”type“:”0“},{”id“:8,”zone_id“:22,”created_at“:”2017-06-22   11:57:17“,”updated_at“:”2017-06-22 11:57:17“,”deviceNo“:”ogrv“,”type“:”1“}]

如果类型0将到来,我将开始计算直到类型1.我如何用php计算它?

每种类型都意味着不同的行为,所以当不同的行动来临时,我需要计算这2个数据之间的分钟数。

例如,First Data附带类型0表示用户在内部,然后第二个数据带有类型1,这意味着用户不在内部。我需要计算这些数据之间的总分钟数。

1 个答案:

答案 0 :(得分:1)

看看这个,可以帮助你

如果您将数据库表模型作为Model,

$data = Model::all()->toArray();
$diff_array = array();
for($i=0; $i<count($data)-1; $i++){
    $first = $data[$i];
    $second = $data[$i+1];
    if($first['type']==0 && second['type'] == 1){

        // Calculate difference between $first['created_at] and $second['created_at'] as $diff_time
        // you can parse string date using Carbon and calculate diffrence.

        array_push($diff_array,$diff_time);

    }
    else if($first['type']==1 && second['type'] == 0){

        // Calculate difference between $first['created_at] and $second['created_at'] as $diff_time

        array_push($diff_array,$diff_time);
    }   
}

// dump the array to view differences
dd($diff_array);