我有一个表示秒数的 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构造函数。
最佳答案
有两个问题:
TimeSpan
没有HH
格式说明符,使用小写版本hh
( see docs )- 您需要转义
.
文字
哪个版本正确:
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/