docs: def column_name_to_date(name):
      """
      TODO: should probably assume a 2000 epoch for 2-digit dates
  
      >>> column_name_to_date('10-Apr')
      datetime.date(10, 4, 1)
      >>> column_name_to_date('10_2011')
      datetime.date(2011, 10, 1)
      >>> column_name_to_date('apr_10')
      datetime.date(10, 4, 1)
      """
      month_nums = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6, 'Jul': 7,
                    'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}
      year_month = re.split(r'[^0-9a-zA-Z]{1}', name.strip().strip('_-/*=:+'))
      try:
          year = int(year_month[0])
          month = year_month[-1]
      except (ValueError, IndexError):
          year = int(year_month[-1])
          month = year_month[0]
      month = int(month_nums.get(str(month).lower().title(), month or 0))
      if 0 <= year <= 2100 and 1 <= month <= 12:
          return datetime.date(year, month, 1)
      try:
          year = int(year_month[1])
          month = int(year_month[0])
      except (ValueError, IndexError):
          year. month = 0, 0
      if 0 <= year <= 2100 and 1 <= month <= 12:
          return datetime.date(year, month, 1)
      try:
          month = int(year_month[1])
          year = int(year_month[0])
      except (ValueError, IndexError):
          year. month = 0, 0
      if 0 <= year <= 2100 and 1 <= month <= 12:
          return datetime.date(year, month, 1)