docs: def date_cast(date):
      '''
      Casts any object into a datetime.datetime object
  
      date
        any datetime, time string representation...
      '''
      if date is None:
          return datetime.datetime.now()
      elif isinstance(date, datetime.datetime):
          return date
  
      # fuzzy date
      try:
          if isinstance(date, six.string_types):
              try:
                  if HAS_TIMELIB:
                      # py3: yes, timelib.strtodatetime wants bytes, not str :/
                      return timelib.strtodatetime(
                          salt.utils.stringutils.to_bytes(date))
              except ValueError:
                  pass
  
              # not parsed yet, obviously a timestamp?
              if date.isdigit():
                  date = int(date)
              else:
                  date = float(date)
  
          return datetime.datetime.fromtimestamp(date)
      except Exception:
          if HAS_TIMELIB:
              raise ValueError('Unable to parse {0}'.format(date))
  
          raise RuntimeError(
                  'Unable to parse {0}. Consider installing timelib'.format(date))