<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def date(self, start: int = 2000, end: int = 2019) -> Date: """Generate random date object. :param start: Minimum value of year. :param end: Maximum value of year. :return: Formatted date. """

        year = self.random.randint(start, end)
        month = self.random.randint(1, 12)
        day = self.random.randint(1, monthrange(year, month)[1])
        date_object = date(year, month, day)
        return date_object