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

推荐答案

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

.net相关问答推荐

如何在PowerShell中隐藏任务延迟输出?

Puppeteer LaunchAsync 在未打开浏览器的情况下挂起

保存时不保留 XML 格式

从 Contentful 中的富文本元素中获取价值?

无法通过构建目标访问 dotnet 的环境变量

Dictionary.FirstOrDefault() 如何判断是否找到了结果

如何为多种文件类型设置 FileSystemWatcher 过滤器?

为什么 .net 对字符串使用 UTF16 编码,但默认使用 UTF-8 来保存文件?

.NET 的future 版本会支持 C# 中的元组吗?

在 Moq 中模拟泛型方法而不指定 T

使用 EPPlus 时如何设置列类型

获取当前方法的名称

如何将枚举值序列化为 int?

C#中的引用类型

合并两个(或更多)PDF

如何将 MailMessage 对象作为 *.eml 或 *.msg 文件保存到磁盘

在 Windows 窗体 C# 应用程序中拥有配置文件的最简单方法

C# - 在 WPF 应用程序中保存用户设置的方法?

System.IO.IOException:使用 System.IO.Path.GetTempFileName() 时文件存在 - 解决方案?

泛型类的静态成员是否与特定实例相关联?