Instead of using the Convert class, I'd suggest using
DateTime.Parse[
^] wrapped in a try..catch block.
While the error may still remain since it's dependent on the input, this would give you more information about the problem.
Also a good practice is to validate the input first. You can use for example
TryParse[
^] to test if the input is convertible to datetime.