簡體   English   中英

DateTime + Timer Tick?

[英]DateTime + Timer Tick?

我想在單擊按鈕時開始“經過的時間”。 到目前為止,我已經寫了:

private void timer_Tick(object sender, EventArgs e)
{
    timeCounter++;
    labelTimer.Text = "Elapsed Time: " + timeCounter.ToString();
}

timer間隔為1000(1秒)。

我想要的是這樣格式化時間:

HH:MM:SS

並在秒數達到60時自動增加分鍾,以此類推。 我應該為此使用DateTime並每1秒添加一秒鍾嗎?

您可以使用TimeSpan

TimeSpan _elapsed = new TimeSpan();

private void timer_Tick(object sender, EventArgs e)
{
    _elapsed = _elapsed.Add(TimeSpan.FromMinutes(1));
    labelTimer.Text = "Elapsed Time: " + _elapsed.ToString();
}

您可以使用秒表及其經過的時間來創建日期時間(並根據需要設置其格式)。

Stopwatch s = Stopwatch.StartNew();
//Some more operations here...
s.Stop();
DateTime t = new DateTime(s.ElapsedTicks);

如果願意,還可以設置秒表的頻率,以最大程度地減少資源消耗。

您可以像這樣使用的簡單方法:

private void timer_Tick(object sender, EventArgs e) 
{
       Stopwatch stopWatch = Stopwatch.StartNew();

       // Your logics goes Here

       stopWatch.Stop();
       DateTime time = new DateTime(stopWatch.ElapsedTicks);
       labelTimer.Text = time.ToString("HH:mm:ss");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM