Не то, чтобы прям готовое решение, но есть библиотека Carbon для работы с датами, там есть методы для
определения конца недели и
добавления недели а дальше вроде тривиально - нашли первый выходной и от него прибавляйте недели, пока весь период не исчерпаете.