2012-07-30 47 views
1

我正在尋找的格式如下: 00:00:00如何時間跨度對象格式字符串

使用部分作爲參考here。這應該在技術上工作.ToString("hh:mm:ss"),但它是抱怨有語法錯誤。

注:ToString("g")是接近,但給了我這種格式0:0:0.0000...。如果所討論的值不是整數,我希望格式化程序截斷或舍入。

+0

你可以閱讀所有關於定製'這裏TimeSpan'格式字符串:http://msdn.microsoft。 COM/EN-US /庫/ ee372287.aspx。 – 2012-07-30 23:38:15

+0

string s = new TimeSpan(10000001).ToString(@「hh \:mm \:ss」); – Les 2012-07-30 23:41:17

+1

重複的http://stackoverflow.com/questions/842057/how-do-i-convert-a-timespan-to-a-formatted-string(這也是重複的!) – 2012-07-30 23:41:47

回答

2

嘗試:

ToString("hh':'mm':'ss") 

也應努力:

ToString("c") 
+0

蜱是什麼意思?僅供參考,這工作。 – 2012-07-30 23:35:47

+0

這是字面字符「:」。 ToString識別hh mm ss。你必須告訴它你想要什麼。我真的想把一個:在這裏。 – Jmyster 2012-07-30 23:36:34

+0

當您將相同的格式化程序應用於DateTime對象時,爲什麼不必使用文字字符? – 2012-07-30 23:38:25

0

假設你有TimeSpan ts;

然後嘗試:

String.Format("{0} {1} {2}", ts.Hours, ts.Minutes, ts.Seconds); 
2

你的語法幾乎是正確的,這個工程:ToString("hh\\:mm\\:ss");

+2

或者使用一個逐字字符串文字:'@「hh \:mm \:ss」'(我推薦它出於同樣的原因它被廣泛用於正則表達式字符串) – 2012-07-31 00:40:49