TimeSpan.ToString() 上的 System.FormatException

Jea*_*kow 1 .net c# timespan tostring

我有一个代表秒数的浮点数,我需要格式化它以匹配这个:

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

HH:mm:ss.fff // Like 01:15:22.150
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

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

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

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

我使用这个TimeSpan构造函数。

Dav*_*idG 5

有2个问题:

  1. 没有HH格式说明符TimeSpan,请使用小写版本hh请参阅文档
  2. 你需要逃避.文字

这使得正确的版本:

string time = timeSpan.ToString(@"hh\:mm\:ss\.fff");
Run Code Online (Sandbox Code Playgroud)

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

string time = timeSpan.ToString("hh':'mm':'ss'.'fff");
Run Code Online (Sandbox Code Playgroud)