fork(2) download
  1. <?php
  2.  
  3. $sqlReturn = [
  4. ['2017-07-17 06:00:00', '100'],
  5. ['2017-07-17 06:05:00', '280'],
  6. ['2017-07-17 06:30:00', '70'],
  7. ['2017-07-17 06:35:00', '80'],
  8. ['2017-07-17 07:45:00', '80'],
  9. ['2017-07-17 07:50:00', '80'],
  10. ['2017-07-19 07:50:00', '80'],
  11. ['2017-07-19 07:55:00', '80'],
  12. ];
  13.  
  14.  
  15. $downtimes = [];
  16.  
  17. for ($i = 0; $i < count($sqlReturn)-1; $i++) {
  18.  
  19. $lowTime = $sqlReturn[$i][0];
  20. $highTime = $sqlReturn[$i+1][0];
  21.  
  22. $start = new DateTime($lowTime);
  23. $finish = new DateTime($highTime);
  24.  
  25. $diffInMins = abs($finish->getTimestamp() - $start->getTimestamp()) / 60;
  26.  
  27.  
  28.  
  29. if ($diffInMins != 5) {
  30. $temp = ['Интервал' => $lowTime . ' - ' . $highTime,
  31. 'Время проеба' => $diffInMins . ' минут'];
  32. $downtimes[] = $temp;
  33. }
  34. }
  35.  
  36. print_r($downtimes);
Success #stdin #stdout 0.02s 83904KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [Интервал] => 2017-07-17 06:05:00 - 2017-07-17 06:30:00
            [Время проеба] => 25 минут
        )

    [1] => Array
        (
            [Интервал] => 2017-07-17 06:35:00 - 2017-07-17 07:45:00
            [Время проеба] => 70 минут
        )

    [2] => Array
        (
            [Интервал] => 2017-07-17 07:50:00 - 2017-07-19 07:50:00
            [Время проеба] => 2880 минут
        )

)