c# - TimeSpan.ToString() 上的 System.FormatException

标签 c# .net tostring timespan

我有一个表示秒数的 float ,我需要对其进行格式化以匹配此值:

我需要像这样格式化耗时(以秒为单位):

HH:mm:ss.fff // Like 01:15:22.150

这是我的代码:

TimeSpan timeSpan = new TimeSpan(0, h, m, s, ms);
string time = timeSpan.ToString(@"HH\:mm\:ss.fff"); // Throw a System.FormatException

如果我使用'@"hh:mm:ss"',它不会抛出异常,但我需要毫秒...

什么是正确的字符串格式?

我用这个TimeSpan构造函数。

最佳答案

有两个问题:

  1. TimeSpan 没有HH 格式说明符,使用小写版本hh ( see docs )
  2. 您需要转义 . 文字

哪个版本正确:

string time = timeSpan.ToString(@"hh\:mm\:ss\.fff");

您还可以通过用 ' 包围来指定文字字符串。例如:

string time = timeSpan.ToString("hh':'mm':'ss'.'fff");

关于c# - TimeSpan.ToString() 上的 System.FormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50609107/

相关文章:

c# - 从 FullyName 字符串到 Type 对象

C#泛型接口(interface)和继承

c# - 在 .NET 中的两个进程之间传递流对象/文件句柄

java - 如何以字符串格式表示我的长度和宽度?

c# - 类转换器

c# - 单击启用按钮

C# 触发 windows 10 媒体通知

.net - 带有 .NET Framework 2 的 Visual Studio 2010

c# - 无法将所有文本粘贴到 wpf 文本框中

java - 打印数组 - 重写 toString() 方法