fork download
  1. <?php
  2. /* generate random dates */
  3. $dates = [];
  4. for ($i=0;$i < 30;$i++) {
  5. $start = mt_rand(1, time());
  6. $dates[$i]['start'] = date("Y-m-d H:i:s", $start);
  7. $dates[$i]['end'] = date("Y-m-d H:i:s", mt_rand($start, time()));
  8. }
  9.  
  10. $initialDate = new \DateTime;
  11. /* iterate over each date */
  12. foreach($dates as $record) {
  13. $start = DateTime::createFromFormat('Y-m-d H:i:s', $record['start']);
  14. $end = DateTime::createFromFormat('Y-m-d H:i:s', $record['end']);
  15. if ($start && $end) {
  16. $diff = $start->diff($end);
  17. $initialDate->add($diff);
  18. }
  19. }
  20. $compareDate = new \DateTime;
  21. $diff = $compareDate->diff($initialDate);
  22.  
  23. var_dump($diff);
  24.  
Success #stdin #stdout 0.03s 52472KB
stdin
Standard input is empty
stdout
object(DateInterval)#6 (15) {
  ["y"]=>
  int(312)
  ["m"]=>
  int(3)
  ["d"]=>
  int(12)
  ["h"]=>
  int(19)
  ["i"]=>
  int(53)
  ["s"]=>
  int(50)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  int(114059)
  ["special_type"]=>
  int(0)
  ["special_amount"]=>
  int(0)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(0)
}