用自定义格式将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相关问答推荐

为什么Linq中的运算符逻辑不匹配结果,当值为0或在VB. NET中没有

.NET MAUI 的登录页面

无法解析此引用.找不到程序集

关于在 .NET 中干净地终止线程的问题

整个命名空间的SuppressMessage

如何在 C# 中创建表达式树来表示String.Contains("term")?

.NET 应用程序的链接器状态(又名请先生,我可以有一个链接器2009 年版)

XmlNode 值与内部文本

Int 到字节数组

.NET 事件 - 什么是对象发送者和 EventArgs e?

如何异步 Files.ReadAllLines 并等待结果?

如何将 System.Type 转换为其可为空的版本?

等待 Async Void 方法调用以进行单元测试

实体框架中的 POCO 是什么?

.NET 高级别的 .NET 4.0 和 .NET 4.5 的区别

为什么 double.NaN 不等于自身?

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

作者主签名的时间戳发现了一个建链问题:UntrustedRoot: self-signed certificate in certificate chain

判断任意字符串是否为有效文件名的最简单方法

多个列表与 IEnumerable.Intersect() 的交集