docs: def date_time_between(self, start_date='-30y', end_date='now', tzinfo=None):
          """
          Get a DateTime object based on a random date between two given dates.
          Accepts date strings that can be recognized by strtotime().
  
          :param start_date Defaults to 30 years ago
          :param end_date Defaults to "now"
          :param tzinfo: timezone, instance of datetime.tzinfo subclass
          :example DateTime('1999-02-02 11:42:52')
          :return DateTime
          """
          start_date = self._parse_date_time(start_date, tzinfo=tzinfo)
          end_date = self._parse_date_time(end_date, tzinfo=tzinfo)
          if end_date - start_date <= 1:
              ts = start_date + self.generator.random.random()
          else:
              ts = self.generator.random.randint(start_date, end_date)
          if tzinfo is None:
              return datetime(1970, 1, 1, tzinfo=tzinfo) + timedelta(seconds=ts)
          else:
              return (
                  datetime(1970, 1, 1, tzinfo=tzutc()) + timedelta(seconds=ts)
              ).astimezone(tzinfo)