code: def convertDay(self, day, prefix="", weekday=False):
          
          def sameDay(d1, d2):
              d = d1.day == d2.day
              m = d1.month == d2.month
              y = d1.year == d2.year
              return d and m and y
  
          tom = self.now + datetime.timedelta(days=1)
  
          if sameDay(day, self.now):
              return "today"
          elif sameDay(day, tom):
              return "tomorrow"
  
          if weekday:
              dayString = day.strftime("%A, %B %d")
          else:
              dayString = day.strftime("%B %d")
  
          # Ex) Remove '0' from 'August 03'
          if not int(dayString[-2]):
              dayString = dayString[:-2] + dayString[-1]
  
          return prefix + " " + dayString
docs: Convert a datetime object representing a day into a human-ready
          string that can be read, spoken aloud, etc.
  
          Args:
              day (datetime.date): A datetime object to be converted into text.
              prefix (str): An optional argument that prefixes the converted
                  string. For example, if prefix="in", you'd receive "in two
                  days", rather than "two days", while the method would still
                  return "tomorrow" (rather than "in tomorrow").
              weekday (bool): An optional argument that returns "Monday, Oct. 1"
                  if True, rather than "Oct. 1".
  
          Returns:
              A string representation of the input day, ignoring any time-related
              information.