vb中返回當(dāng)前系統(tǒng)毫秒數(shù)的函數(shù)是Timer。
10余年的金鄉(xiāng)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整金鄉(xiāng)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“金鄉(xiāng)網(wǎng)站設(shè)計(jì)”,“金鄉(xiāng)網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Timer 函數(shù),返回一個(gè) Single,代表從午夜開始到現(xiàn)在經(jīng)過的秒數(shù)。
語法:
Timer
說明:Microsoft Windows中,Timer函數(shù)返回一秒的小數(shù)部分。
Timer 函數(shù)示例:
本示例使用 Timer 函數(shù)來暫停應(yīng)用程序。同時(shí)用 DoEvents
在暫停期間將控制讓給其他進(jìn)程。
Dim?PauseTime,?Start,?Finish,?TotalTime
If?(MsgBox("Press?Yes?to?pause?for?5?seconds",?4))?=?vbYes?Then
PauseTime?=?5???'?設(shè)置暫停時(shí)間。
Start?=?Timer???'?設(shè)置開始暫停的時(shí)刻。
Do?While?Timer??Start?+?PauseTime
DoEvents???'?將控制讓給其他程序。
Loop
Finish?=?Timer???'?設(shè)置結(jié)束時(shí)刻。
TotalTime?=?Finish?-?Start???'?計(jì)算總時(shí)間。
MsgBox?"Paused?for?"??TotalTime??"?seconds"
Else
End
End?If
elapsed.Milliseconds 獲取毫秒。
每100毫秒,do中的代碼執(zhí)行一次,執(zhí)行時(shí)間將大于100毫秒,這是產(chǎn)生誤差的地方之一。invoke執(zhí)行一個(gè)方法txt,必須等txt里面的代碼運(yùn)行完畢,方法才能返回,期間占用的時(shí)間全是“誤差”。
無限循環(huán),且沒有退出機(jī)制,停不下來。
dim a1 as timespan = dtEndTime -dtStartTime
dim a2 as integer = a1.TotalMilliseconds
不需要控件就可以,用多線程的方式實(shí)現(xiàn),在窗體上放一個(gè)Label和一個(gè)button按鈕,代碼如下:
Imports?System.Threading
Public?Class?Form1
Dim?Start?As?Double
Dim?td?As?Thread
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Label1.Text?=?"00:00:00?000"
Button1.Text?=?"開始"
End?Sub
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
If?Button1.Text?=?"開始"?Then
Button1.Text?=?"結(jié)束"
Start?=?DateAndTime.Timer
td?=?New?Thread(AddressOf?fun1)
td.Start()
Else
Button1.Text?=?"開始"
td.Abort()
End?If
End?Sub
'定義一個(gè)線程
Private?Sub?fun1()
Dim?elapsed?As?TimeSpan
Dim?Dg_txt?As?New?Dg(AddressOf?txt)
Do
elapsed?=?TimeSpan.FromMilliseconds((DateAndTime.Timer?-?Start)?*?1000)
Me.Invoke(Dg_txt,?elapsed.ToString,?Label1)
Thread.Sleep(100)
Loop
End?Sub
'定義一個(gè)委托
Delegate?Sub?Dg(ByVal?s?As?String,?ByVal?obj?As?Label)
Sub?txt(ByVal?s?As?String,?ByVal?obj?As?Label)
obj.Text?=?s
End?Sub
End?Class