我試圖解析從秒錶到特定格式的經過時間==> hh:mm:ss.f,因爲我使用它作爲時間計數器上的顯示。這是我嘗試做:從秒錶經過的時間解析DateTime始終始於12:00:00
string counter = DateTime.Parse(_stopwatch.Elapsed.ToString()).ToString("hh:m:ss.f");
的問題是,不是計數器顯示看起來像這樣:XX:XX:XX.X它總是顯示爲這樣:12:XX:XX.X
爲什麼它總是從12開始?
我希望看到像這樣的內容:00:12:34.5表示12分鐘。已經過去了,而不是12:12:34.5。
我在這裏錯過了什麼?
謝謝。
UPDATE
固定我自己的問題,這樣做:
string formattedResult = _stopwatch.Elapsed.ToString(@"hh\:mm\:ss\.f");
嗨喬恩,感謝回答。我在WP7應用程序中這樣做,所以我無法訪問.NET 4的自定義字符串格式化程序。我試着做_stopwatch.Elapsed.ToString();但是將其格式化爲我不想要的毫秒。像_stopwatch.Elapsed.ToString(「HH:mm:ss [.f]」);也沒有工作。 我正在尋找deciseconds,因此@「hh \:mm \:ss \ .f」爲我做了訣竅。 – Cranialsurge 2012-02-27 10:43:38
@Cranialsurge:我仍然不會將它轉換爲日期/時間。只需爲每個部分使用自定義格式字符串即可。從根本上說,這*不是*日期/時間,將其視爲一個不好的主意。例如,如果您需要24小時以上,您希望做什麼? – 2012-02-27 10:45:35
+喬恩:是的,我不會將它轉換成日期時間了。我需要的是我在上面更新的字符串。我絕對不會超過24小時滿足這個特殊要求,但我理解您的擔憂。理想情況下,我所尋找的只是一種特定格式的字符串,僅用於顯示目的。如果只有ToString()會接受比TimeSpan提供的標準'c','g'和'd'格式化程序更多的東西,我可以直接存儲_stopwatch.Elapsed。 – Cranialsurge 2012-02-27 10:50:16