不需要控件就可以,用多線程的方式實現,在窗體上放一個Label和一個button按鈕,代碼如下:
創新互聯建站是一家集網站建設,柳州企業網站建設,柳州品牌網站建設,網站定制,柳州網站建設報價,網絡營銷,網絡優化,柳州網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
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?=?"結束"
Start?=?DateAndTime.Timer
td?=?New?Thread(AddressOf?fun1)
td.Start()
Else
Button1.Text?=?"開始"
td.Abort()
End?If
End?Sub
'定義一個線程
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
'定義一個委托
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
Label1.Text?=?"12時演示:"?+?Now.ToString("yyyy-MM-dd?hh:mm:ss")
Label2.Text?=?"24時演示:"?+?Now.ToString("yyyy-MM-dd?HH:mm:ss")
Label3.Text?=?"UTC時演示:"?+?System.DateTime.UtcNow.ToString("yyyy-MM-dd?HH:mm:ss")
Label4.Text?=?"時間為不補0:"?+?Now.ToString("yyyy-MM-dd?H:m:s")
Label5.Text?=?"時間戳:"?+?CLng(System.DateTime.UtcNow.Subtract(New?Date(1970,?1,?1,?0,?0,?0)).TotalMilliseconds).ToString
不對。步驟如下:
添加一個label標簽名字label1 用來顯示時間
再添加一個timer控件 名字timer1 interval屬性=1000 用來計時
窗體添加代碼
Dim t As Date '用來記錄時間
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Timer1.Tick
t = t.AddSeconds(1)
Label1.Text = "登錄時間:" t.TimeOfDay.ToString
End Sub
定時器中處理
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Timer1.Interval?=?10?'10毫秒刷新一次
Timer1.Start()?'開啟定時器
End?Sub
Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
Label1.Text?=?Now
End?Sub
elapsed.Milliseconds 獲取毫秒。
每100毫秒,do中的代碼執行一次,執行時間將大于100毫秒,這是產生誤差的地方之一。invoke執行一個方法txt,必須等txt里面的代碼運行完畢,方法才能返回,期間占用的時間全是“誤差”。
無限循環,且沒有退出機制,停不下來。
vb中獲取系統當前的時間用函數 now() 就可以。另外還有相關的時間 date() time()
now()獲取系統當前日期和時間,如:2015-12-12 22:23:34
time()獲取系統的時間,如:22:23:34不顯示當前日期
date()獲得系統的日期,如:2015-12-12
Private Sub Command1_Click()
MsgBox Now()
MsgBox Time()
MsgBox Date
End Sub