TimeSpan将对象格式化为具有自定义格式的字符串的推荐方法是什么?
TimeSpan
请注意:此答案适用于 .Net 4.0 及更高版本。 如果您想在 .Net 3.5 或更低版本中格式化 TimeSpan,请参阅JohannesH 的回答。
.Net 4.0 中引入了自定义 TimeSpan 格式字符串。您可以在 MSDN自定义时间跨度格式字符串页面上找到可用格式说明符的完整参考。
这是一个示例时间跨度格式字符串:
string.Format("{0:hh\\:mm\\:ss}", myTimeSpan); //example output 15:36:15
( 更新 ),这是一个使用 C# 6 字符串插值的示例:
$"{myTimeSpan:hh\\:mm\\:ss}"; //example output 15:36:15
您需要使用“\”转义“:”字符(除非您使用逐字字符串,否则必须对其本身进行转义)。
MSDN Custom TimeSpan Format Strings页面的这段摘录解释了如何转义“:”和“。” 格式字符串中的字符:
自定义 TimeSpan 格式说明符不包括占位符分隔符,例如将天与小时、小时与分钟或秒与小数秒分开的符号。相反,这些符号必须作为字符串文字包含在自定义格式字符串中。例如,“dd.hh:mm”将句点 (.) 定义为天和小时之间的分隔符,将冒号 (:) 定义为小时和分钟之间的分隔符。