格式化TimeSpans

我正在尝试使用以下代码行格式化TimeSpan

.ToString("[d.]hh:mm:ss")

它抛出一个FormatException ,但当我删除:[].时,exception消失了. 。 我也不能包含空格。 有谁知道为什么会这样? 在这个 msdn页面上,它清楚地表明您可以包含这些字符。 我正在使用.Net framework 4.5.2 btw。

谢谢。

 TimeSpan ts = new TimeSpan(5, 10, 44); string test = string.Format("{0:dd\\:hh\\:mm\\:ss\\.ffff}", ts); 

你需要转义文字字符。 这很尴尬,但这就是你需要的。

 TimeSpan ts = new TimeSpan(1, 2, 3, 4, 555); string output = ts.ToString("d\\.hh\\:mm\\:ss"); 

请参阅此处的文档 。