Как я могу разобрать TimeSpan с включенными миллисекундами?

У меня есть приложение, которое считывает "синхронизированные" данные из файла; В настоящее время мой вклад выглядит примерно так:

- РЕДАКТИРОВАТЬ - Я нашел фактический случай, когда это не удается.

0:0:1:934 > >> GOOD MORNING.<br>

Но, похоже, у меня возникли некоторые проблемы с анализом этого в допустимый интервал времени. Я был бы признателен, если бы кто-то мог указать мне правильное направление, так как не так много предложений, которые я нашел до сих пор, обеспечили многое для решения проблемы.

Как мой код стоит;

String StoredTime = ArchiveLine.Split('>')[0].TrimEnd();
String StoredFrame = ArchiveLine.Substring(ArchiveLine.IndexOf('>')+1).TrimStart();

TimeSpan FrameTime = TimeSpan.Parse(StoredTime, DateTimeFormatInfo.InvariantInfo);

И это вызывает исключение формата.

Благодарю.

2 ответа

Решение

Это может быть проблема локализации. Некоторые культуры используют запятую вместо точки в качестве десятичной точки. Пытаться:

TimeSpan FrameTime = TimeSpan.Parse(StoredTime, DateTimeFormatInfo.InvariantInfo); 

Проблема здесь в том, что (I) ссылается на неправильную часть моей строки в методе Parse...

Другие вопросы по тегам