Как я могу разобрать 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...