TimeSpan.ParseExact with Milliseconds

时间:2017-07-13 03:45:03

标签: c# .net timespan

我正在尝试将字符串解析为分钟:秒:毫秒的时间跨度格式。所以00:00:02我希望2毫秒。但它解析为20

const string tmp = "00:00:02";
var t1 = TimeSpan.Parse(tmp);

// minutes: seconds: milliseconds
var t2 = TimeSpan.ParseExact(tmp, @"m\:s\:ff", System.Globalization.CultureInfo.InvariantCulture);

enter image description here

为什么毫秒 20 而不是 2

2 个答案:

答案 0 :(得分:1)

  

为什么毫秒20而不是2?

由于1 sec = 1000 ms而不是像秒或分钟那样60,因此它0.020 = 20/1000,2ms将是0.002 = 2/1000

答案 1 :(得分:0)

稍微修改了你的代码。以下是工作代码:

        const string tmp = "00:00:002";
        var t1 = TimeSpan.Parse(tmp);

        // minutes: seconds: milliseconds
        var t2 = TimeSpan.ParseExact(tmp, @"m\:s\:fff", System.Globalization.CultureInfo.InvariantCulture);