2012-01-30 35 views

Trả lời

13

Trong thực tế chức năng hẹn giờ mang đến cho bạn giây với mili giây. phần nguyên của giá trị trả về là số giây kể từ nửa đêm và phần phân số có thể được chuyển đổi thành miliseconds - chỉ cần nhân nó bằng 1000.

t = Timer 

' Int() behaves exacly like Floor() function, ie. it returns the biggest integer lower than function's argument 
temp = Int(t) 

Miliseconds = Int((t-temp) * 1000) 

Seconds = temp mod 60 
temp = Int(temp/60) 
Minutes = temp mod 60 
Hours = Int(temp/60) 

WScript.Echo Hours, Minutes, Seconds, Miliseconds 

' Let's format it 
strTime =   String(2 - Len(Hours), "0") & Hours & ":" 
strTime = strTime & String(2 - Len(Minutes), "0") & Minutes & ":" 
strTime = strTime & String(2 - Len(Seconds), "0") & Seconds & "." 
strTime = strTime & String(4 - Len(Miliseconds), "0") & Miliseconds 

WScript.Echo strTime 
1

xây dựng trên câu trả lời của MBu, đây là một phiên bản Sub. Rắc các cuộc gọi này xung quanh mã của bạn cho các tin nhắn trong cửa sổ ngay lập tức, vì vậy bạn có thể thấy nơi sự chậm trễ đang xảy ra.

' *** Debug.Print the time with milliseconds, and a message of your choice 
Private Sub DebugPrintTime(strWhereFrom As String) 
On Error GoTo ErrHandler 

    Dim sglTimer As Single 
    Dim sglWholeSecs As Single 
    Dim Millisecs As Variant ' as a variant, Len() will give the length of string representation of this value 
    Dim Seconds As Variant 
    Dim Minutes As Variant 
    Dim Hours As Variant 
    Dim strTime As String 

    sglTimer = timer 
    sglWholeSecs = Int(sglTimer) 
    Millisecs = Int((sglTimer - sglWholeSecs) * 1000) 
    Seconds = sglWholeSecs Mod 60 
    sglWholeSecs = Int(sglWholeSecs/60) 
    Minutes = sglWholeSecs Mod 60 
    Hours = Int(sglWholeSecs/60) 

    strTime = String(2 - Len(Hours), "0") & Hours & ":" 
    strTime = strTime & String(2 - Len(Minutes), "0") & Minutes & ":" 
    strTime = strTime & String(2 - Len(Seconds), "0") & Seconds & "." 
    strTime = strTime & String(3 - Len(Millisecs), "0") & Millisecs 
    Debug.Print strTime, strWhereFrom 

    Exit Sub 
ErrHandler: 
    MsgBox "Error in Sub DebugPrintTime" & vbCrLf & Err.Description & vbCrLf & strWhereFrom 
    Err.Clear 
End Sub 
Các vấn đề liên quan