code: def picknthweekday(year, month, dayofweek, hour, minute, whichweek):
      
      first = datetime.datetime(year, month, 1, hour, minute)
  
      # This will work if dayofweek is ISO weekday (1-7) or Microsoft-style (0-6),
      # Because 7 % 7 = 0
      weekdayone = first.replace(day=((dayofweek - first.isoweekday()) % 7) + 1)
      wd = weekdayone + ((whichweek - 1) * ONEWEEK)
      if (wd.month != month):
          wd -= ONEWEEK
  
      return wd
docs: dayofweek == 0 means Sunday, whichweek 5 means last instance