Nja, die DateUtils bietet auch so Einiges, um nicht selber rechnen und mit unverständlichen Zahlen (7) umgehen zu müssen....
DayOfTheWeek
StartOfTheWeek
EndOfTheWeek
IncDay( , 7)
IncWeek
Das Erste ist datum_von bis EndOfTheWeek(datum_von) ... bzw. Min(EndOfTheWeek(datum_von), datum_bis).
die nächsten sind dann "current" bis EndOfTheWeek(current)
und dann ab dem ersten EndOfTheWeek mit IncWeek weiter, bis datum_bis