Quibble: your definition of "weeks of months" is one legitimate possibility.
BUT my US-ian orientation is accustomed to the notion that "weeks" begin either with a Sunday or Monday, NOT with day one of a month. And for OP's purposes (inferred, perhaps incorrectly) the desired weeks may actually be "work weeks," Mon-Fri.
Re work-week day 0, as Wikipedia tells us (at https://en.wikipedia.org/wiki/ISO_week_date ) "in some Muslim countries, the normal work week begins on Saturday, while in Israel it begins on Sunday."
CPAN finds a number of modules (sorry: not checked as I'm short of time!) using "cpan iso week" as the search string. These include Date::ISO, Date::ICal, Date::ISO8601 and DateTime::Format::ISO8061. One or more may be helpful.