code: def extractTimes(self, inp):
          
          def handleMatch(time):
              relative = False
  
              if not time:
                  return None
  
              # Default times: 8am, 12pm, 7pm
              elif time.group(1) == 'morning':
                  h = 8
                  m = 0
              elif time.group(1) == 'afternoon':
                  h = 12
                  m = 0
              elif time.group(1) == 'evening':
                  h = 19
                  m = 0
              elif time.group(4) and time.group(5):
                  h, m = 0, 0
  
                  # Extract hours difference
                  converter = NumberService()
                  try:
                      diff = converter.parse(time.group(4))
                  except:
                      return None
  
                  if time.group(5) == 'hours':
                      h += diff
                  else:
                      m += diff
  
                  # Extract minutes difference
                  if time.group(6):
                      converter = NumberService()
                      try:
                          diff = converter.parse(time.group(7))
                      except:
                          return None
  
                      if time.group(8) == 'hours':
                          h += diff
                      else:
                          m += diff
  
                  relative = True
              else:
                  # Convert from "HH:MM pm" format
                  t = time.group(2)
                  h, m = int(t.split(':')[0]) % 12, int(t.split(':')[1])
  
                  try:
                      if time.group(3) == 'pm':
                          h += 12
                  except IndexError:
                      pass
  
              if relative:
                  return self.now + datetime.timedelta(hours=h, minutes=m)
              else:
                  return datetime.datetime(
                      self.now.year, self.now.month, self.now.day, h, m
                  )
  
          inp = self._preprocess(inp)
          return [handleMatch(time) for time in self._timeRegex.finditer(inp)]
docs: Extracts time-related information from an input string.
          Ignores any information related to the specific date, focusing
          on the time-of-day.
  
          Args:
              inp (str): Input string to be parsed.
  
          Returns:
              A list of datetime objects containing the extracted times from the
              input snippet, or an empty list if none found.