Как найти предыдущее время запуска задачи имея текущее время и структуру типа cron?
Имея запланированную задачу в виде структуры по типу cron (minute, hour, day of month, day of week, month), где каждое поле - это список возможных значений (например, 0я минута и 30я минута; все возможные часы от 0 до 24 итд), как найти предыдущее время запуска задачи (зная текущее время)?
Например, имя структуру типа:
{
"minutes": [0, 30],
"hours": [0],
"days": [],
"days_of_week": [],
"months": []
}
(выполняется два раза в день, каждый день, в 00:00 и 00:30);
И зная текущее время, допустим, 07 ноября 2016 00:45, как найти предыдущее время (07 ноября 2016, 00:30) ?