Выполнение Cron команды с обратным временем

Есть переменная, которая содержит время в часах. Нужно сделать команду cron, чтобы некоторая команда выполнялась за минуту до этого часа.

Пример: если в переменной 9 часов, то cron-команда должна выполниться в 8:59. Сейчас это имеет такое решение. Есть ли более правильный способ чисто командой?

$hour = 10

if ($hour == 0) {
   $hour = 23;
} else {
   $hour = $hour - 1;
}

cron->("59 $hour * * *")

Ответы (1 шт):

Автор решения: Daniel Protopopov
<?php
   $hour = 9;
   $date = new DateTime();
   $minusDate = $date->setTime($hour, 0, 0, 0)->sub(new DateInterval('PT1M'));
   echo $minusDate->format("i H * * *");
→ Ссылка