Goodday,我使用以下代码启动计时器。 Label2.Text = Difference1.TotalMinutes.ToString(“N0”) 但是会议纪要总是30秒。标签显示时间为1分钟,仅过了30秒,此后我总是30秒。 我该如何校准? 谢谢 罗布
答案 0 :(得分: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