Goodday,我使用下面的代码来启动一个计时器。Label2.Text = Difference1.TotalMinutes.ToString("N0") 但分钟总是 30 秒后。标签显示时间为 1 分钟,仅经过 30 秒,此后我总是 30 秒。我该如何校准这个?谢谢罗伯
问问题
218 次
1 回答
1
如果您查看TimeSpan.TotalMinutes属性的定义,它会声明:
获取以整分钟和小数分钟表示的当前 TimeSpan 结构的值。
因此,当您使用 ToString(" N0 ") 格式时,您会告诉它您不需要小数位,并且由于它是一种数字格式,它会将您的值向上取整。TimeSpan Custom Formats
在这种情况下,您应该特别考虑使用%m自定义格式字符串。它应该看起来像这样:
Label2.Text = Difference1.TotalMinutes.ToString("%m")
我用来测试的代码。定时器间隔设置为 1000 并启用。
Public Class Form1
Dim startTime As DateTime = DateTime.Now
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Label1.Text = (DateTime.Now - startTime).ToString("%m")
Label2.Text = (DateTime.Now - startTime).TotalSeconds.ToString("N0")
End Sub
End Class
于 2013-02-06T06:30:59.957 回答