如何检查 TimeSpan/Stopwatch.Elapsed 包括 second/minutes/hours

How to check TimeSpan/Stopwatch.Elapsed includes second/minutes/hours

我有一个秒表,它只是简单地向上计数一段时间,截至目前,它显示的是这样的当前状态:

HH:MM:SS:MLS
00:00:50.876

..但我只希望它在秒表达到该时间量时显示 HH 和 MM 下的零。因此,HH 和 MM 会被隐藏,直到秒表超过 60 秒(分钟)或 60 分钟(小时)。

我计划在 while 循环中使用 if 语句,这样它每次都会检查这个,但不知道如何检查 TimeSpan/Stopwatch 是否达到了 hour/minute .

我的秒表代码:

static Stopwatch ElapsedTimeStopwatch = new Stopwatch();

ElapsedTimeStopwatch.Start();
while (ElapsedTimeStopwatch.IsRunning)
{
    TimeSpan etts = ElapsedTimeStopwatch.Elapsed;

    string ElapsedTime = etts.ToString(@"hh\:mm\:ss\:fff");

    UpdateElapsedTimeTextBlock(ElapsedTime, ElapsedTimeTextBlock);
}

[...]

ElapsedTimeStopwatch.Stop();
ElapsedTimeStopwatch.Reset();

您当然可以检查 Total... 属性,并以此为基础设置您的格式:

string format;

if (etts.TotalHours >= 1)
{
    format = @"hh\:mm\:ss\:fff";
}
else if (etts.TotalMinutes >= 1)
{
    format = @"mm\:ss\:fff";
}
else
{
    format = @"ss\:fff";
}

string ElapsedTime = etts.ToString(format);