Он просто не хочет работать:
DateTime time;
DateTime.TryParseExact("17", "HH", ..., out time);
// works fine
DateTime.TryParseExact("9", "HH", ..., out time);
// works fine, but 9 doesn't match HH (nor should it)
DateTime.TryParseExact("9:", "H':'", ..., out time);
// works fine
DateTime.TryParseExact("9", "H", ..., out time);
// exception: "Input string was not in a correct format"
Тот факт, что №3 работает, предлагает очевидный обходной путь, но это одна из тех вещей, которые могут сделать я использую "WTF", если я видел это в чужом коде. Ошибка TryParseExact
или что-то в этом роде?