code: def next_date(min_year = None, max_year = None):
          
          current_year = datetime.datetime.utcnow().year
          min_year = min_year if min_year != None else current_year - RandomInteger.next_integer(10)
          max_year = max_year if max_year != None else current_year
  
          year = RandomInteger.next_integer(min_year, max_year)
          month = RandomInteger.next_integer(1, 13)
          day = RandomInteger.next_integer(1, 32)
          
          if month == 2:
              day = min(28, day)
          elif month in [4, 6, 9, 11]:
              day = min(30, day)
  
          return datetime.datetime(year, month, day, 0, 0, 0, 0, pytz.utc)
docs: Generates a random Date in the range ['minYear', 'maxYear'].
          This method generate dates without time (or time set to 00:00:00)
  
          :param min_year: (optional) minimum range value
  
          :param max_year: max range value
  
          :return: a random Date value.