System.FormatException 在 TimeSpan.ToString()

System.FormatException on TimeSpan.ToString()

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

我需要像这样格式化经过的时间(以秒为单位):

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");