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

为什么 C# 不推断我的泛型类型?

无法从 Microsoft.Extensions.Logging 解析 ILogger

Moq - 不可覆盖的成员不能用于设置/验证表达式

什么取代了 .Net Core 中的 WCF?

您可以使用 Xamarin 开发 Linux 应用程序吗?

如何在不违反继承安全规则的情况下在 .NET 4+ 中实现 ISerializable?

奇数返回语法语句

检测到包降级警告(dotnet core,vs 2017)

if (false == true) 在内部抛出异常时执行块

在 web api 控制器(.net 核心)中使用 async/await 或任务

Web API 中基于令牌的身份验证,无需任何用户界面

.NET Core、.NET Framework 和 Xamarin 之间有什么区别?

什么是 project.lock.json?

/langversion 的错误选项“6”无效;必须是 ISO-1、ISO-2、3、4、5 或默认值

如何在 ASP.NET Core MVC 中读取操作方法的属性?

[DllImport("QCall")] 是什么?

使用 C# 设置全局热键

如何从标头中检索基本身份验证凭据?

使用 Json.NET 将任何类型的对象转换为 JObject

为什么不从 List 继承?