3v4l.org

run code in 300+ PHP versions simultaneously
<?php $fillStart = strtotime("2019-07-23 00:15:00"); $fillEnd = strtotime("2019-09-23 13:00:00"); $gapStart = strtotime("2019-05-23 00:15:00"); $gapEnd = strtotime("2019-06-23 13:00:00"); // $wdtStart = date("l H:i:s", $gapStart); if (date("l H:i:s", $fillStart) == $wdtStart) { // already good $fillStartModified = $fillStart; } else { // move forward $fillStartModified = strtotime("next {$wdtStart}", $fillStart); } $wdtEnd = date("l H:i:s", $gapEnd); if (date("l H:i:s", $fillEnd) == $wdtEnd) { // already good $fillEndModified = $fillEnd; } else { // move backward $fillEndModified = strtotime("last {$wdtEnd}", $fillEnd); } printf("Start %s adjusted for %s = %s\n", date("l Y-m-d H:i:s", $fillStart), $wdtStart, date("l Y-m-d H:i:s", $fillStartModified)); printf("End %s adjusted for %s = %s\n", date("l Y-m-d H:i:s", $fillEnd), $wdtEnd, date("l Y-m-d H:i:s", $fillEndModified));

preferences:
47.33 ms | 402 KiB | 5 Q