У меня результаты времени из гонок во многих различных форматах (более или менее любой комбинации час, минуты, секунду и миллисекунде):DateTime.TryParseExact одна вторая
- 01: 22: 51.15
- 22: 15,12
- 15,0
- 12:21
- ...
я анализирую их с список допустимых форматов и пока все форматы работают, кроме одного: один второй формат, например. "5".
По какой-то причине следующий список (содержащий «s» в качестве 1-го элемента) не помогает мне разобрать строку «5» в DateTime, «25» работает нормально.
var timeString = "5";
var timeFormats = new[] { "s", "s.f", "s.ff", "ss", "ss.f", "ss.ff", "m:ss", "m:ss.f", "m:ss.ff", "mm:ss", "mm:ss.f", "mm:ss.ff", "H:mm:ss", "H:mm:ss.f", "H:mm:ss.ff", "HH:mm:ss", "HH:mm:ss.f", "HH:mm:ss.ff" };
DateTime timeValue;
DateTime.TryParseExact(timeString, timeFormats, null, DateTimeStyles.None, out timeValue);
Любая идея, почему это не работает, как я ожидаю? Или есть более чистый способ охватить все эти форматы времени, не добавляя еще один пакет nuget ...? Приветствия!
Я не думаю, что слишком много, чтобы спросить, что именно этот код дает вам в данный момент? «Это не работает» не так много. – Abion47
Вы работаете со временем. Для этого используется 'TimeSpan', а не' DateTime'. – Luaan
Извините, я имею в виду, что TryParseExact возвращает false. –