我有一个 Windows 表单,我在 DateTime 类中使用下面的代码,但我想使用时间应该在表单上变化
LblLocalTime.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
LblUTCTime.Text = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss");
我应该怎么办?
使用 Timer 类,设置您想要的间隔
private void Form1_Load()
{
Timer tmr = new Timer();
tmr.Interval = 1000;//ticks every 1 second
tmr.Tick+=new EventHandler(tmr_Tick);
tmr.Start();
}
//change the label text inside the tick event
private void tmr_Tick(object sender, EventArgs e)
{
LblLocalTime.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
LblUTCTime.Text = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss");
}
你所做的只是设置文本一次。您必须不断更新您的标签以反映当前的日期时间。每隔一秒设置一个计时器并更新每个 Tick 事件的标签。
System.Timers.Timer timer = new System.Timers.Timer();
Timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
Timer.Interval = 1000;
private void Timer_Elapsed(object sender, EventArgs e)
{
LblLocalTime.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
LblUTCTime.Text = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss");
}