DateTime + Timer Tick?
本文关键字:Tick Timer DateTime | 更新日期: 2023-09-27 18:10:11
我想,当我点击一个按钮,开始一个"经过的时间"。我写了这么多:
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");
}