一尘不染

如何在.NET中使用自定义格式对TimeSpan对象进行String.Format格式化?

c#

建议TimeSpan使用自定义格式将对象格式化为字符串的方式是什么?


阅读 292

收藏
2020-05-19

共1个答案

一尘不染

请注意:此答案适用于.Net 4.0及更高版本。 如果要在.Net
3.5或更低版本中格式化TimeSpan,请参阅JohannesH的答案

.Net 4.0中引入了自定义TimeSpan格式字符串。您可以在“ MSDN
自定义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 自定义TimeSpan格式字符串”页面,它说明了如何转义“:”和“。”。格式字符串中的字符:

自定义TimeSpan格式说明符不包含占位符分隔符,例如将天与小时,小时与分钟或秒与小数秒分隔的符号。而是,这些符号必须作为字符串文字包含在自定义格式字符串中。例如,“
dd.hh:mm”将句点(。)定义为天和小时之间的分隔符,将冒号(:)定义为时和分钟之间的分隔符。

2020-05-19