
正文
关于vb.net计算用时的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.NET,如何用TIMER控件计时
这种功能用不到TIMER,TIMER控件用在这种地方也不适合。(假如你所统计的时间很短,在几分中内话,可以使用,假如你统计的时间很长:几小时、几天几夜,建议改用以下方式):
在你需要开始计时的地方加入一个记录当前时间,在你想结束的地方也得到一个当前时间。然后将两个时间相减。
希望以上思路可以帮到你。
相关问答
Q1: vb.net 时间统计问题
一楼风中的奶牛的做法很棒vb.net计算用时,建议楼主采纳他的回答。
只是其中有一个Bugvb.net计算用时,就是“倒数第二次累计分钟数为59,累计秒数达到60的时候,会出现**:60:**”。例如{"10:57:35", "2:02:51"},我这里做vb.net计算用时了修改,供参考。
另外,AddByInts中不需要进行循环和Select判断,可以简化。
同时,为了说明类和结构的关系,这里改用类。
也请一楼风中的奶牛勿怪罪在下啊vb.net计算用时!
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Dim str As String() = {"10:30:35", "2:02:51", "17:00:35", "2:02:51"}
Dim str As String() = {"10:57:35", "2:02:51"}
Dim time As TimeSerial = New TimeSerial
For Each dt As String In str
time.Add(dt)
Next
MsgBox(time.ToString)
End Sub
End Class
Public Class TimeSerial
Public Hour As Integer ' 时间的小时部分
Public Minute As Integer ' 时间的分钟部分
Public Second As Integer ' 时间的秒钟部分
' 合并添加新的时间值
' param name="value"文本时间格式(00:00:00)/param
Public Sub Add(ByVal value As String)
Dim arr As String() = Split(value, ":")
Dim dts(arr.Length - 1) As Integer
For i As Integer = 0 To arr.Length - 1
dts(i) = CInt(Val(arr(i)))
Next
AddByInts(dts)
End Sub
' 合并添加新的时间值
' param name="value"时间值(仅计算:时、分、秒)/param
Public Sub Add(ByVal value As Date)
Dim dts(2) As Integer
dts(0) = value.Hour
dts(1) = value.Minute
dts(2) = value.Second
AddByInts(dts)
End Sub
Private Sub AddByInts(ByVal value As Integer())
Second += value(2)
If Second = 60 Then
Minute += Int(Second / 60)
Second = Second Mod 60
End If
Minute += value(1)
If Minute = 60 Then
Hour += Int(Minute / 60)
Minute = Minute Mod 60
End If
Hour += value(0)
End Sub
' 获取时间的文本格式(00:00:00)
Public Overrides Function ToString() As String
Return Hour ":" Minute ":" Second
End Function
End Class
Q2: 在vb中,如何计算一个程序的执行时间
使用Timer 函数来实现。
Timer 函数,返回一个 Single,代表从午夜开始到现在经过的秒数。
Microsoft Windows中,Timer函数返回一秒的小数部分。
Q3: vb.net时间间隔的计算
Public Class Form1
Private Past As Date
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Past = Now
IO.File.AppendAllText("test.txt", Past.ToString, System.Text.Encoding.Default)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Now1 As Date = CDate(IO.File.ReadAllText("test.txt", System.Text.Encoding.Default))
Dim Now2 As Date = Now
MsgBox("从" Now1.ToString "到" Now2.ToString "经过了" CStr(CDate((Now2 - Now1).ToString)))
End Sub
实际情况修改下。
End Class
Q4: VB.net做计时器。。。
加个timer,两个label,以下是代码:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = Format(Now(), "yyyy-MM-dd HH:mm:ss")
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label2.Text = Format(Now(), "yyyy-MM-dd HH:mm:ss")
If DateDiff(DateInterval.Hour, DateTime.Parse(Label1.Text), DateTime.Parse(Label2.Text)) = 3 Then
MsgBox("超过3小时了!", , "信息提示")
Timer1.Enabled = False 'timer终止,不然会一直谈对话框!
End If
End Sub
vb.net计算用时的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.net计算用时的信息别忘了在本站进行查找喔。







