Не могу сформулировать вопрос для гугла, как назвать "временнЫе окна", потому прошу вашей помощи:
Допустим, человек работает ровно 8 часов, соответственно, 16 часов "отдыха". Есть время на задачу, которое составляет, например, 40 часов. При работе 8 часов в день это займёт 5 дней, но не 120 часов (5*24), а 104 — пять раз по 8 часов и 4 раза по 16 (8+16+8+16+8+16+8+16+8).
Работа на 8 часов займёт, получается, не "один день", кратный суткам, а 8 часов, в то время, как 9 рабочих часов займут уже 25 фактических часов.
Собственно, я начал изобретать велосипед с учётом чётного и нечётного числа, блоками if-else... ну и подумал, что, может быть, есть нормальное математическое решение "одной строкой".
В качестве примера годится всё - описание словами, ссылки на википедию, примеры на ЯП (понимаю php и js).
Для правильного вопроса надо знать половину ответа
Для идеального случая - работы каждый день строго по 8 часов - решение простейшее. fullTime = workTime + [(workTime - 1) / 8] * 16
Но для реальных расчётов это, естественно, не годится, хотя бы из-за выходных, праздников и переносов праздничных дней.
Какой-нибудь магазин работает всегда, кроме потопов ) Кроме того, будет возможность ставить "фактическое время" исполнения задачи, так что вакуумные условия годятся.