Return a Python datetime object based on the dateTimeString
        
        This will handle date times in the following formats:
            YYYY/MM/DD HH:MM:SS
            2014/11/05 21:47:28
            2014/11/5 21:47:28
            11/05/2014
            11/5/2014
            11/05/2014 16:28:00
            11/05/2014 16:28
            11/5/2014 16:28:00
            11/5/2014 16:28
        It can also handle these formats when using a - instead of a / for a 
        date separator.

def manage(self, dateTimeString):
        """Return a Python datetime object based on the dateTimeString
        
        This will handle date times in the following formats:
            YYYY/MM/DD HH:MM:SS
            2014/11/05 21:47:28
            2014/11/5 21:47:28
            11/05/2014
            11/5/2014
            11/05/2014 16:28:00
            11/05/2014 16:28
            11/5/2014 16:28:00
            11/5/2014 16:28
        It can also handle these formats when using a - instead of a / for a 
        date separator.
        """
        dateTime = None
        dateTimeString = dateTimeString.replace('-', '/')
        
        _date_time_split = dateTimeString.split(' ') # [0] = date, [1] = time (if exists)
        _date = _date_time_split[0]
        _time = '00:00:00' # default
        if len(_date_time_split) > 1:
            _time = _date_time_split[1]
        
        if dateTimeString.find('/') == 4: # YYYY/MM/DD...
            dateList = _date.split('/') + _time.split(':')
            dateTime = datetime(*map(lambda x: int(x), dateList))
        elif 1 <= dateTimeString.find('/') <= 2: # MM/DD/YYYY or M/D?/YYYY
            _date_split = _date.split('/')
            dateList = [_date_split[2], _date_split[0], _date_split[1]] + _time.split(':')
            dateTime = datetime(*map(lambda x: int(x), dateList))
        if not dateTime:
            raise ValueError("unable to manage unsupported string format: %s"%(dateTimeString))
        
        return dateTime