2012-09-12 105 views
0

我有一個應用程序讀取文件中的'timed'數據;目前,我的輸入是這樣的:如何解析包含毫秒的TimeSpan?

- 編輯 - 我發現一個實際情況下,這失敗了。

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

但我似乎有一些麻煩解析這個有效的TimeSpan。 如果有人能指出我的方向正確,我將不勝感激,因爲迄今爲止我發現的很多產品都不能解決問題。

正如我的代碼所示;

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

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

而且它會引發格式異常。

謝謝。

+0

難道你不能分析你的目標數字或你不能讓一組乾淨的數字? – StarPilot

+3

你有什麼嘗試,你有什麼麻煩?該字符串(不包含'>'和空格)應該由[TimeSpan.TryParse()](http://msdn.microsoft.com/zh-cn/library/3z48198e.aspx)成功解析。 –

+0

隨着你添加的代碼,當你嘗試解析它時,你能給出一個'StoredFrame'的精確值嗎?鑑於你的問題中的第一個例子,我不知道什麼是實際解析。 –

回答

3

這可能是一個本地化問題。有些文化用逗號代替句點作爲小數點。嘗試:

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

如果這不是因爲它主要是一個錯字這個簡單的事實而被刪除的,這可能是我正在尋找的答案。我已經以這種方式實現了它,它正在工作,不管它是否實際上沒有工作過,我們永遠不會知道。 – DigitalJedi805