小编典典

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

all

TimeSpan将对象格式化为具有自定义格式的字符串的推荐方法是什么?


阅读 65

收藏
2022-07-16

共1个答案

小编典典

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

对于 .NET 3.5 及更低版本,您可以使用:

string.Format ("{0:00}:{1:00}:{2:00}", 
               (int)myTimeSpan.TotalHours, 
                    myTimeSpan.Minutes, 
                    myTimeSpan.Seconds);

.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”将句点
(.) 定义为天和小时之间的分隔符,将冒号 (:) 定义为小时和分钟之间的分隔符。

2022-07-16