DYNAMIC_TIME_ZONE_INFORMATION-Struktur (timezoneapi.h)
Gibt Einstellungen für eine Zeitzone und dynamische Sommerzeit an.
Syntax
typedef struct _TIME_DYNAMIC_ZONE_INFORMATION {
LONG Bias;
WCHAR StandardName[32];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName[32];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
WCHAR TimeZoneKeyName[128];
BOOLEAN DynamicDaylightTimeDisabled;
} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION;
Member
Bias
Der aktuelle Zeitunterschied in Minuten für die lokale Zeitübersetzung auf diesem Computer. Die Verzerrung ist der Unterschied zwischen koordinierter Weltzeit (UTC) und Ortszeit in Minuten. Alle Übersetzungen zwischen UTC und Ortszeit basieren auf der folgenden Formel:
UTC = Ortszeit + Bias
Dieses Element ist erforderlich.
StandardName[32]
Eine Beschreibung für die Standardzeit. Beispielsweise könnte "EST" die Östliche Normalzeit angeben. Die Zeichenfolge wird unverändert von der GetDynamicTimeZoneInformation-Funktion zurückgegeben. Diese Zeichenfolge kann leer sein.
StandardDate
Eine SYSTEMTIME-Struktur , die ein Datum und eine Ortszeit enthält, an der der Übergang von der Sommerzeit zur Standardzeit unter diesem Betriebssystem stattfindet. Wenn die Zeitzone keine Sommerzeit unterstützt oder der Anrufer die Sommerzeit deaktivieren muss, muss der wMonth-Member in der SYSTEMTIME-Struktur 0 sein. Wenn dieses Datum angegeben wird, muss auch das DaylightDate-Element dieser Struktur angegeben werden. Andernfalls geht das System davon aus, dass die Zeitzonendaten ungültig sind und keine Änderungen angewendet werden.
Um den richtigen Tag im Monat auszuwählen, legen Sie das wYear-Element auf Null, die wHour - und wMinute-Member auf die Übergangszeit, das wDayOfWeek-Element auf den entsprechenden Wochentag und das wDay-Element fest, um das Vorkommen des Wochentags innerhalb des Monats anzugeben (1 bis 5, wobei 5 das endgültige Vorkommen während des Monats angibt, wenn dieser Wochentag nicht 5 Mal auftritt).
Geben Sie mit dieser Notation 02:00 am ersten Sonntag im April wie folgt an: wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. Geben Sie 02:00 am letzten Donnerstag im Oktober wie folgt an: wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.
Wenn das wYear-Element nicht 0 ist, ist das Übergangsdatum absolut; Es tritt nur einmal auf. Andernfalls handelt es sich um ein relatives Datum, das jährlich auftritt.
StandardBias
Der Biaswert, der während der Ortszeitübersetzungen verwendet werden soll, die während der Standardzeit auftreten. Dieser Member wird ignoriert, wenn kein Wert für das StandardDate-Element angegeben wird.
Dieser Wert wird dem Wert des Bias-Elements hinzugefügt, um die während der Standardzeit verwendete Verzerrung zu bilden. In den meisten Zeitzonen ist der Wert dieses Members 0.
DaylightName[32]
Eine Beschreibung für die Sommerzeit (DST). Beispielsweise könnte "PDT" die Pacific Daylight Time angeben. Die Zeichenfolge wird unverändert von der GetDynamicTimeZoneInformation-Funktion zurückgegeben. Diese Zeichenfolge kann leer sein.
DaylightDate
Eine SYSTEMTIME-Struktur , die ein Datum und eine Ortszeit enthält, wenn der Übergang von der Standardzeit zur Sommerzeit unter diesem Betriebssystem stattfindet. Wenn die Zeitzone keine Sommerzeit unterstützt oder der Anrufer die Sommerzeit deaktivieren muss, muss der wMonth-Member in der SYSTEMTIME-Struktur 0 sein. Wenn dieses Datum angegeben wird, muss auch das StandardDate-Element in dieser Struktur angegeben werden. Andernfalls geht das System davon aus, dass die Zeitzonendaten ungültig sind und keine Änderungen angewendet werden.
Um den richtigen Tag im Monat auszuwählen, legen Sie das wYear-Element auf Null, die wHour - und wMinute-Member auf die Übergangszeit, das wDayOfWeek-Element auf den entsprechenden Wochentag und das wDay-Element fest, um das Vorkommen des Wochentags innerhalb des Monats anzugeben (1 bis 5, wobei 5 das endgültige Vorkommen während des Monats angibt, wenn dieser Wochentag nicht 5 Mal auftritt).
Wenn das wYear-Element nicht 0 ist, ist das Übergangsdatum absolut; Es tritt nur einmal auf. Andernfalls handelt es sich um ein relatives Datum, das jährlich auftritt.
DaylightBias
Der Biaswert, der während der Ortszeitübersetzungen verwendet werden soll, die während der Sommerzeit auftreten. Dieser Member wird ignoriert, wenn kein Wert für das DaylightDate-Element angegeben wird.
Dieser Wert wird dem Wert des Bias-Elements hinzugefügt, um die während der Sommerzeit verwendete Verzerrung zu bilden. In den meisten Zeitzonen ist der Wert dieses Members –60.
TimeZoneKeyName[128]
Der Name des Zeitzonenregistrierungsschlüssels auf dem lokalen Computer. Weitere Informationen finden Sie in den Hinweisen.
DynamicDaylightTimeDisabled
Gibt an, ob die dynamische Sommerzeit deaktiviert ist. Durch Festlegen dieses Elements auf TRUE wird die dynamische Sommerzeit deaktiviert, sodass das System einen festen Satz von Übergangsterminen verwendet.
Um die dynamische Sommerzeit wiederherzustellen, rufen Sie die Funktion SetDynamicTimeZoneInformation auf, wobei DynamicDaylightTimeDisabled auf FALSE festgelegt ist. Das System liest die Übergangstermine für das aktuelle Jahr beim nächsten Update, beim nächsten Systemneustart oder am Ende des Kalenderjahres (je nachdem, was zuerst kommt).)
Beim Aufrufen der GetDynamicTimeZoneInformation-Funktion ist dieser Member TRUE, wenn die Zeitzone mit der SetTimeZoneInformation-Funktion anstelle von SetDynamicTimeZoneInformation festgelegt wurde oder wenn der Benutzer dieses Feature mithilfe der Date and Time-Anwendung in Systemsteuerung deaktiviert hat.
Um die Sommerzeit zu deaktivieren, legen Sie diesen Member auf TRUE fest, löschen Sie die Elemente StandardDate und DaylightDate , und rufen Sie SetDynamicTimeZoneInformation auf. Um die Sommerzeit wiederherzustellen, rufen Sie SetDynamicTimeZoneInformation auf, wobei DynamicDaylightTimeDisabled auf FALSE festgelegt ist.
Hinweise
Die dynamische Sommerzeit bietet Unterstützung für Zeitzonen, deren Grenzen für die Sommerzeit sich von Jahr zu Jahr ändern. Dieses Feature ermöglicht eine einfachere Aktualisierung von Systemen, insbesondere für Gebietsschemas, in denen die jährliche DST-Grenzen im Voraus bekannt sind. Nachdem die Zeitzone aktualisiert wurde, wird die aktuelle Zeitzoneneinstellung auf alle Zeitvorgänge angewendet, auch wenn die betreffende Zeit vor der Zeitzonenänderung aufgetreten ist. Daher ist es am besten, UTC-Zeiten zu speichern und in die aktuelle lokale Zeitzone zu konvertieren.
Sie können die Übergangstermine für das aktuelle Jahr mit der Funktion SetDynamicTimeZoneInformation festlegen. Um zukünftige Übergangstermine festzulegen, müssen Sie den Registrierungsdaten Einträge hinzufügen. Die Einstellungen für dynamische Tageslichtzeit werden im folgenden Registrierungsschlüssel gespeichert:
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Time Zones time_zone_name Dynamic DST
Jeder dynamische DST-Schlüssel enthält die folgenden Registrierungswerte.
Registrierungswert | type | BESCHREIBUNG |
---|---|---|
FirstEntry | REG_DWORD | Das erste Jahr in der Tabelle. |
LastEntry | REG_DWORD | Das letzte Jahr in der Tabelle. |
year1 | REG_BINARY |
Die folgenden Zeitzoneninformationen.
|
year2 | REG_BINARY | Eine REG_TZI_FORMAT-Struktur . |
Sehnen | REG_BINARY | Eine REG_TZI_FORMAT-Struktur . |
Weitere Informationen zu anderen Werten im Zeitzonenschlüssel finden Sie unter TIME_ZONE_INFORMATION.
Sowohl StandardName als auch DaylightName werden gemäß der aktuellen Benutzerstandardsprache der Benutzeroberflächen lokalisiert.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Kopfzeile | timezoneapi.h (einschließlich Timezoneapi.h, Windows.h) |