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.
typedef struct _REG_TZI_FORMAT
{
    LONG Bias;
    LONG StandardBias;
    LONG DaylightBias;
    SYSTEMTIME StandardDate;
    SYSTEMTIME DaylightDate;
} REG_TZI_FORMAT;
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)

Weitere Informationen

GetDynamicTimeZoneInformation

SYSTEMTIME

SetDynamicTimeZoneInformation