【问题标题】:How to check TimeSpan/Stopwatch.Elapsed includes second/minutes/hours如何检查 TimeSpan/Stopwatch.Elapsed 包括秒/分钟/小时
【发布时间】:2019-08-27 07:23:33
【问题描述】:

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

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

..但我只希望它在 HH 和 MM 下显示零,如果秒表甚至达到那个时间量。所以 HH 和 MM 是隐藏的,直到秒表超过 60 秒(分钟)或 60 分钟(小时)。

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

我的秒表代码:

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

【问题讨论】:

    标签: c# stopwatch


    【解决方案1】:

    您当然可以检查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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      相关资源
      最近更新 更多