我想添加一个标签,打印经过的时间,就像正常时钟一样(当秒达到" 59"然后添加" 1" min到柜台)但是我的时间跨度添加秒数到达数字" 30" ...我做错了什么?
Dim ElapsedTime As TimeSpan
While log_button.Text = "Stop logger"
ElapsedTime = Now().Subtract(StartTime)
Label5.Text = String.Format("Minutos transcurridos: {0:00}:{1:00}", CInt(ElapsedTime.TotalMinutes) Mod 60, CInt(ElapsedTime.TotalSeconds) Mod 60)
Application.DoEvents()
End While
我得到了一个错误的增量:
00:01
...
0时28
0时29分
00:30
1时31分
1时32
等...
答案 0 :(得分:2)
那是因为你正在舍入代表总分钟数的浮点数。当数字达到0.5
时,它将四舍五入为1.
使用Floor
方法截断数字:
CInt(Math.Floor(ElapsedTime.TotalMinutes)) Mod 60
您还可以使用Minutes
属性来完成所有这些:
ElapsedTime.Minutes