2013-02-06 113 views
0

好日子,我用下面的代码启动一个计时器。 Label2.Text = Difference1.TotalMinutes.ToString(“N0”) 但分钟总是30秒。标签只显示时间为1分钟,仅30秒后,我总是出现30秒。 我该如何校准? 感谢 罗布计时器分钟总是出30秒

+2

分钟没有秒。他们是整数。 *你有一些'splainin'做露西!* –

回答

1

如果你看一下定义为TimeSpan.TotalMinutes财产人称它:

获取整数和分数分钟表示目前时间跨度结构的价值。

因此,当您使用的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 
+0

感谢您的快速回复,我,v尝试了(“%m”)和一些veriation,但只能得到%m在lable2读数,而不是时间。 – user1240661

+0

我会发布我的测试代码,“%m”对我来说工作正常。 –