[Chia sẻ] Hàm lấy thời gian từ Internet.

Blue Softs Liên hệ QC

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,418
Được thích
16,188
Giới tính
Nam
Cái hàm này tôi cũng sưu tầm trên Internet cũng lâu lắm rồi, giờ rảnh rổi lục các file cũ và thấy nó hay hay nên chia sẻ lên đây, ai dùng được thì dùng.
Tôi có chỉnh sửa bẩy lỗi một chút và cộng thêm 7 tiếng so với giờ GMT cho phù hợp với giờ Việt Nam. Nếu ai có hàm nào tốt hơn, nhanh hơn thì chia sẻ cho mọi người nhé.

PHP:
Function GetGMTNetTime() As Date
    Const sURL As String = "https://www.timeanddate.com"
    Dim oHTTP As Object
    Dim sResp As String
    Set oHTTP = CreateObject("Microsoft.XMLHTTP")
    On Error GoTo ErrorHandler
    oHTTP.Open "GET", sURL, False, "", ""
    oHTTP.Send
    sResp = oHTTP.getResponseHeader("Date")
    GetGMTNetTime = CDate(Mid$(sResp, 6, 20)) + TimeSerial(7, 0, 0)
    Set oHTTP = Nothing
    Exit Function
ErrorHandler:
    Set oHTTP = Nothing
    MsgBox "Internet disconnected!"
End Function
 

Kiều Mạnh

IIIIIIIIIIIIIIIII
Tham gia
9/6/12
Bài viết
4,558
Được thích
3,214
Giới tính
Nam
Thử vậy xem sao
If Internet_Check = False then tạm ngủ chút
Mã:
Private Declare Function InternetGetConnectedState Lib "wininet.dll" _
          (ByRef lpSFlags As Long, ByVal dwReserved As Long) As Long

Function Internet_Check(Optional ConnectMode As Integer) As Boolean   
    Dim flags As Long   
    Internet_Check = InternetGetConnectedState(flags, 0)   
    ConnectMode = flags
End Function
 
Upvote 0

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,418
Được thích
16,188
Giới tính
Nam
Thử vậy xem sao
If Internet_Check = False then tạm ngủ chút
Mã:
Private Declare Function InternetGetConnectedState Lib "wininet.dll" _
          (ByRef lpSFlags As Long, ByVal dwReserved As Long) As Long

Function Internet_Check(Optional ConnectMode As Integer) As Boolean  
    Dim flags As Long  
    Internet_Check = InternetGetConnectedState(flags, 0)  
    ConnectMode = flags
End Function
Chơi luôn cho Win 64bit luôn anh:

Mã:
#If Win64 Then
    Public Flg As LongPtr
    Public Declare PtrSafe Function InternetGetConnectedState _
            Lib "wininet.dll" (lpdwFlags As LongPtr, _
            ByVal dwReserved As Long) As Boolean
#Else
    Public Flg As Long
    Public Declare Function InternetGetConnectedState _
            Lib "wininet.dll" (lpdwFlags As Long, _
            ByVal dwReserved As Long) As Boolean
#End If

Function Internet_Check() As Boolean
    Internet_Check = InternetGetConnectedState(Flg, 0)
End Function
 
Upvote 0
Top Bottom