Rubrik: System/Windows · Computer/Benutzer/Ländereinstellungen | VB-Versionen: VB5, VB6 | 18.09.06 |
Aktuelle Zeitzone im Klartext ermitteln Dieser Tipp gibt die aktuell eingestelle Zeitzone des Computer im Klartext wieder | ||
Autor: Microsys Kramer | Bewertung: | Views: 14.873 |
www.access-paradies.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit diesem Tipp wird die aktuell eingestellte Zeitzone des Systems zurückgegeben.
Fügen Sie nachfolgenden Code in ein Modul ein:
Option Explicit ' Benötigte API-Deklarationen Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Type TIME_ZONE_INFORMATION ' Basis-Zeitverschiebung in Minuten Bias As Long ' Name der Sommerzeit-Zeitzone StandardName(0 To ((32 * 2) - 1)) As Byte ' Beginn der Standardzeit StandardDate As SYSTEMTIME ' Zusätzliche Zeitverschiebung der Standardzeit StandardBias As Long ' Name der Sommerzeit-Zeitzone DaylightName(0 To ((32 * 2) - 1)) As Byte ' Beginn der Sommerzeit DaylightDate As SYSTEMTIME ' Zusätzliche Zeitverschiebung der Sommerzeit DaylightBias As Long End Type Private Declare Function GetTimeZoneInformation Lib "kernel32" ( _ lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long
' // ----------------------------------------------------------------- ' // Methode: | Ermittelt die aktuell, eingestellte Zeitzone ' // ----------------------------------------------------------------- ' // Parameter: | - ' // ----------------------------------------------------------------- ' // Rückgabe: | Klartext der Zeitzone ' // ----------------------------------------------------------------- Public Function GetCurrentTimeZone() As String On Error GoTo Err_GetCurrentTimeZone Dim tzi As TIME_ZONE_INFORMATION Dim tmp As String Select Case GetTimeZoneInformation(tzi) Case 0: tmp = "Die aktuelle Zeitzone konnte nicht ermittelt werden" Case 1: tmp = tzi.StandardName Case 2: tmp = tzi.DaylightName End Select GetCurrentTimeZone = TrimNull(tmp) Exit_GetCurrentTimeZone: Exit Function Err_GetCurrentTimeZone: GetCurrentTimeZone = "Die aktuelle Zeitzone konnte nicht ermittelt werden" Resume Exit_GetCurrentTimeZone End Function
' // ---------------------------------------------------------------- ' // Hilfsfunktion ' // ----------------------------------------------------------------- Private Function TrimNull(sValue As String) Dim iPos As Integer iPos = InStr(sValue, Chr$(0)) If iPos Then TrimNull = Left$(sValue, iPos - 1) Else TrimNull = sValue End If End Function