3v4l.org

run code in 300+ PHP versions simultaneously
<?php $range1 = '2019-01-01 - 2019-05-20'; $range2 = '2019-01-06 - 2019-05-20'; list($start, $end) = explode(' - ', $range1); $start1 = new DateTime($start); $end1 = new DateTime($end); list($start, $end) = explode(' - ', $range2); $start2 = new DateTime($start); $end2 = new DateTime($end); if ($end1 > $start1) { $overlap = $end1->diff(min($start2, $end2)); } else { $overlap = $start1->diff(min($start2, $end2)); } echo "overlap is " . ($overlap->format('%a') + 1) . " days";

preferences:
22.39 ms | 405 KiB | 5 Q