Лучшее решение в порядке, и я знаю, что не стоит беспокоиться о производительности, но есть часть меня, которая обеспокоена подсчетом количества дней недели путем генерации коллекции и повторения по ней, потому что время для вычисления является линейной функцией разницы между двумя датами.
Ответ может быть математически рассчитан в фиксированное время, если вы обдумаете его. Вы можете думать об этом в двух частях:
ЧАСТЬ 1 - ЧИСЛО НЕДЕЛЕЙ МЕЖДУ
Если разница в днях превышает неделю, вы можете считать каждую 7-дневную неделю как имеющую 5 рабочих дней и «убирать» полные недели из рассмотрения.
ЧАСТЬ 2 - ДНИ В ЧАСТИЧНОЙ НЕДЕЛЕ
Вычитая полные недели, вы можете посмотреть на упрощенную задачу о том, сколько рабочих дней лежит между двумя днями в 7-дневном промежутке. Если вы построите таблицу, вы увидите, что есть довольно простое правило, или вы можете повторить логику, использованную в выигрышном решении, но только с интервалом не более 7 дней.