code: def make_time(dt, date_parser=parse_date):
      
      if not dt:
          return datetime.time(0, 0)
      if isinstance(dt, basestring):
          try:
              dt = date_parser(dt)
          except:
              print 'Unable to parse {0}'.format(repr(dt))
              print_exc()
              return datetime.time(0, 0)
      try:
          dt = dt.timetuple()[3:6]
      except:
          dt = tuple(dt)[3:6]
      return datetime.time(*dt)
docs: Ignore date information in a datetime string or object
  
      Arguments:
        dt (str or datetime.datetime or atetime.time or numpy.Timestamp): time or date 
          to be coerced into a `datetime.time` object
  
      Returns:
        datetime.time: Time of day portion of a `datetime` string or object
  
      >>> make_time(None)
      datetime.time(0, 0)
      >>> make_time("11:59 PM")
      datetime.time(23, 59)
      >>> make_time(datetime.datetime(1999, 12, 31, 23, 59, 59))
      datetime.time(23, 59, 59)