def create_date_from_text(self, text):
        """
        Parse a text in the form dd/mm/yyyy, dd/mm/yy or yyyy/mm/dd and return a corresponding :class:`datetime.date`
        object. If no date can be extracted from the given text, a :exc:`ValueError` will be raised.
        """
        # Try to match dd/mm/yyyy format
        date_matches = re.match(self.DATE_LINE_REGEXP, text)

        # If no match, try with yyyy/mm/dd format
        if date_matches is None:
            date_matches = re.match(self.US_DATE_LINE_REGEXP, text)

        if date_matches is None:
            raise ValueError("No date could be extracted from the given value")

        # yyyy/mm/dd
        if len(date_matches.group(1)) == 4:
            return datetime.date(int(date_matches.group(1)), int(date_matches.group(2)), int(date_matches.group(3)))

        # dd/mm/yy
        if len(date_matches.group(3)) == 2:
            current_year = datetime.date.today().year
            current_millennium = current_year - (current_year % 1000)
            year = current_millennium + int(date_matches.group(3))
        # dd/mm/yyyy
        else:
            year = int(date_matches.group(3))

        return datetime.date(year, int(date_matches.group(2)), int(date_matches.group(1)))
Parse a text in the form dd/mm/yyyy, dd/mm/yy or yyyy/mm/dd and return a corresponding :class:`datetime.date`
        object. If no date can be extracted from the given text, a :exc:`ValueError` will be raised.