Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen | VB-Versionen: VB6 | 09.12.10 |
Zeitdifferenz zur UTC-Zeit ermitteln Ermittelt die Zeitdifferenz in Stunden und Minuten zwischen GM-Time (UTC) und Local-Time | ||
Autor: Dieter Otter | Bewertung: | Views: 10.849 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sicherlich haben Sie schon einmal folgende Zeitangabe gesehen: 08:45 +02:00
Hierbei wird der Ortszeit die Zeit-Differenz zur GMT-Zeitangabe (UTC) nachgestellt. Je nach Jahreszeit beträgt diese bspw. in Deutschland 1 Stunde (Winterzeit) oder 2 Stunden (Sommerzeit). Diese Schreibweise findet man bspw.
auch im Header von EMails wieder.
Nachfolgend eine Funktion, mit der sich die Zeitdifferenz zwischen GMT-Zeitangabe und Ortszeit ermitteln lässt:
' Ermittelt die Zeit-Differenz zwischen UTC und lokaler Zeit Public Function UTCTimeoffset() As String Dim oList As Object Dim oItem As Object Dim nMinutes As Long Dim nHours As Long Dim sOffset As String ' Fehlerbehandlung On Error GoTo ErrHandler Set oList = GetObject( _ "winmgmts:{impersonationLevel=impersonate}").InstancesOf( _ "Win32_ComputerSystem") For Each oItem In oList ' Zeit-Differenz in Minuten nMinutes = Abs(oItem.CurrentTimeZone) ' Formatieren nach hh:nn nHours = Int(nMinutes / 60) nMinutes = nMinutes - (nHours * 60) sOffset = Format$(nHours, "00") & ":" & Format$(nMinutes, "00") sOffset = IIf(oItem.CurrentTimeZone > 0, "+", "-") & sOffset Exit For Next ' Objekt freigeben Set oList = Nothing On Error GoTo 0 UTCTimeoffset = sOffset Exit Function ErrHandler: UTCTimeoffset = "+00:00" Set oList = Nothing End Function