我创建了一个与计算机时间同步的实时经过时钟,并显示在标签中。
现在,我的疑问是如何以“ hh:mm:ss”格式在标签中显示时钟。
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
ElapseStartTime = DateTime.Now
Timer1.Enabled = True
Timer1.Interval = 1000
Timer1.Start()
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Dim ElapsedTime = DateTime.Now.Subtract(ElapseStartTime)
LB_Timer.Text = String.Format("{0} : {1} : {2}", ElapsedTime.Hours, ElapsedTime.Minutes, ElapsedTime.Seconds)
End Sub
谢谢!
答案 0 :(得分:1)
由于DateTime.Subtract返回了TimeSpan结构,因此可以使用TimeSpan.ToString([Format])方法来格式化输出字符串:
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
LB_Timer.Text = Date.Now.Subtract(ElapseStartTime).ToString("hh\:mm\:ss")
End Sub
定位.Net Framework < FW 4.0
时,请使用无参数,对文化不敏感的TimeSpan.ToString()
方法。
LB_Timer.Text = Date.Now.Subtract(ElapseStartTime).ToString().Substring(0, 8)
来自文档:
.NET Framework中添加了对格式化TimeSpan值的支持。 4.但是,ToString()方法重载仍然对区域性不敏感。它的行为与以前相同 .NET Framework版本。
答案 1 :(得分:0)
我发现这可以帮助您! {0: d2 }
LB_Timer.Text = String.Format("{0:d2}:{1:d2}:{2:d2}", ElapsedTime.Hours, ElapsedTime.Minutes, ElapsedTime.Seconds)