以特定格式比较TimeSpan

本文关键字:比较 TimeSpan 格式 定格 | 更新日期: 2023-09-27 18:21:05

我只需要一只手来尝试比较TimeSpan值。我看过MSDN,但不幸的是,那里的例子对我没有多大帮助。

我从两个格式化为mm:ss.ffff的字符串中获得TimeSpans。我希望能够对它们进行比较。到目前为止我拥有的代码:

TimeSpan elapsed;
TimeSpan maxExpected;
if (!String.IsNullOrEmpty(MaximumValue))
{
    maxExpected = TimeSpan.ParseExact(MaximumValue, "G", null);
    elapsed = TimeSpan.ParseExact(ElapsedTime, "G", null);
    return elapsed < maxExpected;
}
return false;

它抛出一个异常:System.FormatException: String was not recognized as a valid TimeSpan.

所以我不确定ParseExact所期望的格式参数是什么?

以特定格式比较TimeSpan

您需要一个自定义格式的字符串。尝试使用DateTime而不是TimeSpan:

maxExpected = DateTime.ParseExact(MaximumValue, "mm.ss.ffff", null);
elapsed = DateTime.ParseExact(ElapsedTime, "mm.ss.ffff", null);
return elapsed < maxExpected;