Please note: this answer is for .Net 4.0 and above. If you want to format a TimeSpan in .Net 3.5 or below please see 100.
.Net 4.0中引入了自定义TimeSpan格式字符串.您可以在MSDN Custom TimeSpan Format Strings页面上找到可用格式说明符的完整参考.
以下是TimeSpan格式字符串示例:
string.Format("{0:hh\\:mm\\:ss}", myTimeSpan); //example output 15:36:15
(UPDATE)下面是一个使用C#6字符串插值的示例:
$"{myTimeSpan:hh\\:mm\\:ss}"; //example output 15:36:15
需要用"\"转义":"字符(除非使用逐字字符串,否则必须转义"\"字符本身).
这段摘录自MSDN Custom TimeSpan Format Strings页面,解释了如何避开":"和"."格式字符串中的字符:
自定义时间跨度格式说明符不包括占位符分隔符符号,例如将日与小时、小时与分钟或秒与小数秒分开的符号.相反,这些符号必须作为字符串文字包含在自定义格式字符串中.例如,"dd.hh:mm"定义句点(.)作为天和小时之间的分隔符,以及冒号(:)作为小时和分钟之间的分隔符.