定时器分钟总是30秒

时间:2013-02-06 05:45:21

标签: vb.net

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

1 个答案:

答案 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