【问题标题】:Shows timer (minutes and seconds) in console在控制台中显示计时器(分钟和秒)
【发布时间】:2011-05-17 19:27:07
【问题描述】:

我需要显示在控制台中运行的计时器。我用秒表:

System.Diagnostics.Stopwatch 秒表 = new System.Diagnostics.Stopwatch();

public void startTime()
{
    stopwatch.Start();
}

public void GetTime(){
    stopwatch.Stop();
    TimeSpan timeSpan = stopwatch.Elapsed;
    var timeElapsed = (string.Format("\nTime Elapsed: {0} minute(s) {1} second(s)",
    timeSpan.Minutes, timeSpan.Seconds, timeSpan.Milliseconds / 10 + "\n")).ToString();
}

我需要在控制台中显示正常运行的计时器:00:00:01、00:00:02、00:00:03 ...等

我该怎么做?

【问题讨论】:

  • 为什么一有时间就停下来?
  • 这是为了获取经过的时间。但我需要显示时间运行然后停止它。

标签: c# timer stopwatch


【解决方案1】:

Console.Clear

Console.SetCursorPosition

方法

【讨论】:

    【解决方案2】:

    这样的?

    Stopwatch sw = new Stopwatch();
    sw.Start();
    
    while (true)
    {
        Console.SetCursorPosition(0, 0);
        Console.Write(sw.Elapsed.ToString("g"));
    
        if (sw.Elapsed.TotalMinutes > 30)
            break;
    }
    

    【讨论】:

    • 如何在没有 SetCursorPosition 的情况下将计时器放在任何位置? “g”是什么意思??
    • 需要设置光标,因为您需要覆盖之前写入的内容。 g 是 TimeSpan 格式化程序的名称。见:msdn.microsoft.com/en-us/library/ee372286.aspx
    • 我只需要显示分钟和秒。我该怎么做?
    • 您可以将g 更改为mm\\:ss 以获取分钟和秒数。
    猜你喜欢
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多