У меня есть требование, которое выглядит следующим образом (поверьте мне, я слишком стар для домашней работы ухмылка )
У меня есть куча задач, которые работают на разных частотах. У них также есть стартовая «начальная» дата / время. Начало семени когда-то в прошлом, может быть минуту назад, может быть 5 лет назад.
Мне нужно рассчитать время следующего запуска для задачи, используя дату / время начального заполнения и частоту - это не может быть просто «сейчас» + частота задачи (для тех из вас, у кого запланированы задания на MS SQL Server) это знакомая концепция)
Теперь глупый способ сделать это - взять стартовое семя и продолжать добавлять частоту, пока она не станет больше, чем «сейчас». Это вряд ли оптимально. Наивным способом сделать это было бы взять начальную начальную дату, изменить ее на сегодняшнюю дату и оставить время как есть, затем добавить частоту, пока она не станет больше, чем сейчас, но это предполагает частоту, кратную 24 часам.
Так, каков лучший / самый быстрый способ сделать это? Бонусные баллы за решение C #, но это достаточно универсально, чтобы создать интересную головоломку для любого языка:)