Per suggestion interjay :
import datetime as DT def getmonth(day, week, year): for month in range(1, 13): try: date = DT.datetime(year, month, day) except ValueError: continue iso_year, iso_weeknum, iso_weekday = date.isocalendar() if iso_weeknum == week: return date.month print(getmonth(28, 52, 2014))
source share