from datetime import date, timedelta def iso_week_start(year, week): """Get the date of monday for any given iso week of any given year params: year, the year of intrest week, the week of which the date is desired """ d = date(year, 1, 1) if d.isocalendar()[1] != 1: if d.weekday() > 3: # Jan 1 is not in week one d += timedelta(7 - d.weekday()) return d + timedelta(7 * (week - 1)) if __name__ == '__main__': assert(date(2012, 3, 26) == iso_week_start(2012, 13)) assert(date(2012, 1, 2) == iso_week_start(2012, 1)) assert(date(2004, 1, 1) == iso_week_start(2004, 1)) assert(date(1998, 12, 31) == iso_week_start(1998, 53))