TimeSpan.ToString()上的System.FormatException

时间:2018-05-30 16:03:17

标签: c# .net tostring timespan

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

我需要格式化经过的时间(以秒为单位),如下所示:

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 个答案:

答案 0 :(得分:3)

有两个问题:

  1. HH没有TimeSpan格式说明符,使用小写版本hhsee docs
  2. 您需要转义.字面值
  3. 哪个版本正确:

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

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

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