3v4l.org

run code in 500+ PHP versions simultaneously
<?php $today = new \DateTimeImmutable(); $time = $today->setTime(23,58,59); var_dump(satisfiesTime($time, '23:59')); $time = $today->setTime(23,59,00); var_dump(satisfiesTime($time, '23:59')); $time = $today->setTime(23,59,01); var_dump(satisfiesTime($time, '23:59')); $time = $today->setTime(23,59,59); var_dump(satisfiesTime($time, '23:59')); $time = $today->setTime(24, 00, 00); var_dump($time); var_dump(satisfiesTime($time, '23:59')); function satisfiesTime(\DateTimeImmutable $dateTime, $to): bool { $dateTime = $dateTime->setTimezone(new \DateTimeZone('Europe/London')); return $dateTime->format('H:i') >= '00:00' && $dateTime->format('H:i') < $to; }
Output for 8.2.31 - 8.2.33, 8.3.0 - 8.3.33, 8.4.1 - 8.4.25, 8.5.0 - 8.5.10
bool(true) bool(true) bool(true) bool(true) object(DateTimeImmutable)#4 (3) { ["date"]=> string(26) "2026-09-03 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } bool(true)

preferences:
52.85 ms | 802 KiB | 4 Q