Dim NistTime As Date = GetNetTime("time.nist.gov") Dim TimeDifference As TimeSpan = NistTime.ToLocalTime - Now Today = NistTime.ToLocalTime TimeOfDay = NistTime.ToLocalTime Diagnostics.Debug.WriteLine("This computer's clock was set to: " & NistTime.ToString) Diagnostics.Debug.WriteLine("This computer's clock was adjusted by: " & TimeDifference.ToString)
Public Function GetNetTime(ByVal NistServer As String) As Date Dim NetTime As Date = Nothing Dim TimeReceivedBoolean As Boolean = False Dim TimeReceivedText As String = "" Dim TimeParts() As String Try Dim TimeReader As New IO.StreamReader(New Net.Sockets.TcpClient(NistServer, 13).GetStream) TimeReceivedText = TimeReader.ReadToEnd() TimeReader.Close() TimeReceivedBoolean = True Catch TimeReceivedBoolean = False End Try If TimeReceivedBoolean Then TimeParts = Split(TimeReceivedText, " ", -1, CompareMethod.Text) If TimeParts.Length > 1 Then If (TimeParts(1) Like "##-##-##") And (TimeParts(2) Like "##:##:##") Then Dim NetTimeYear As UShort = Strings.Mid(TimeParts(1), 1, 2) + 2000 Dim NetTimeMonth As UShort = Strings.Mid(TimeParts(1), 4, 2) Dim NetTimeDay As UShort = Strings.Mid(TimeParts(1), 7, 2) Dim NetTimeHour As UShort = Strings.Mid(TimeParts(2), 1, 2) Dim NetTimeMinute As UShort = Strings.Mid(TimeParts(2), 4, 2) Dim NetTimeSecond As UShort = Strings.Mid(TimeParts(2), 7, 2) + 1 Try NetTime = New Date(NetTimeYear, NetTimeMonth, NetTimeDay, NetTimeHour, NetTimeMinute, NetTimeSecond, DateTimeKind.Utc) Catch NetTime = Nothing End Try Else NetTime = Nothing End If Else NetTime = Nothing End If Else NetTime = Nothing End If Return NetTime End Function
|
No comments:
Post a Comment