TimeSpan.ParseExact 以毫秒计

TimeSpan.ParseExact with Milliseconds

我正在尝试将字符串解析为 分钟:秒:毫秒 的时间跨度格式。所以 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);

为什么毫秒是 20 而不是 2

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

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

Why is milliseconds 20 and not 2?

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