Функция «strtotime» или как получить начало суток PHP?
Проще использовать DateTimeInteface$currentDate = new DateTimeImmutable();

$startCurrentDate = $currentDate->setTime(0, 0);
$nextDay          = $startCurrentDate->add(new \DateInterval('P1D'));
echo (new \DateTimeImmutable('midnight'))->format('Y-m-d H:i:s');
Вероятней всего вы запуск выполняете уже в следующих стуках, так как функция генерирует данные, зависящие от текущего времени. Как вариант можете запуск производить например в первую минуту суток.