Partager via


DYNAMIC_TIME_ZONE_INFORMATION structure (timezoneapi.h)

Spécifie les paramètres d’un fuseau horaire et de l’heure d’été dynamique.

Syntaxe

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;

Membres

Bias

Le décalage actuel pour la traduction d'heure locale sur cet ordinateur, en minutes. Le biais est la différence, en minutes, entre le temps universel coordonné (UTC) et l’heure locale. Toutes les traductions entre l’heure UTC et l’heure locale sont basées sur la formule suivante :

UTC = heure locale + biais

Ce membre est obligatoire.

StandardName[32]

Description de l’heure standard. Par exemple, « EST » peut indiquer l’heure standard de l’Est. La chaîne est retournée inchangée par la fonction GetDynamicTimeZoneInformation . Cette chaîne peut être vide.

StandardDate

Structure SYSTEMTIME qui contient une date et une heure locale lorsque la transition de l’heure d’été à l’heure standard se produit sur ce système d’exploitation. Si le fuseau horaire ne prend pas en charge l’heure d’été ou si l’appelant doit désactiver l’heure d’été, le membre wMonth dans la structure SYSTEMTIME doit être égal à zéro. Si cette date est spécifiée, le membre DaylightDate de cette structure doit également être spécifié. Sinon, le système suppose que les données de fuseau horaire ne sont pas valides et qu’aucune modification ne sera appliquée.

Pour sélectionner le jour approprié dans le mois, définissez le membre wYear sur zéro, les membres wHour et wMinute sur l’heure de transition, le membre wDayOfWeek sur le jour de semaine approprié et le membre wDay pour indiquer l’occurrence du jour de la semaine dans le mois (1 à 5, où 5 indique l’occurrence finale pendant le mois si ce jour de la semaine ne se produit pas 5 fois).

À l’aide de cette notation, spécifiez 02:00 le premier dimanche d’avril comme suit : wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. Spécifiez 02:00 le dernier jeudi d’octobre comme suit : wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.

Si le membre wYear n’est pas égal à zéro, la date de transition est absolue ; elle ne se produira qu’une seule fois. Sinon, il s’agit d’une date relative qui se produit annuellement.

StandardBias

Valeur de biais à utiliser pendant les traductions d’heure locale qui se produisent pendant l’heure standard. Ce membre est ignoré si aucune valeur n’est fournie pour le membre StandardDate .

Cette valeur est ajoutée à la valeur du membre Bias pour former le biais utilisé pendant l’heure standard. Dans la plupart des fuseaux horaires, la valeur de ce membre est zéro.

DaylightName[32]

Description de l’heure d’été (DST). Par exemple, « PDT » peut indiquer l’heure d’été du Pacifique. La chaîne est retournée inchangée par la fonction GetDynamicTimeZoneInformation . Cette chaîne peut être vide.

DaylightDate

Structure SYSTEMTIME qui contient une date et une heure locale lorsque la transition de l’heure standard à l’heure d’été se produit sur ce système d’exploitation. Si le fuseau horaire ne prend pas en charge l’heure d’été ou si l’appelant doit désactiver l’heure d’été, le membre wMonth dans la structure SYSTEMTIME doit être égal à zéro. Si cette date est spécifiée, le membre StandardDate dans cette structure doit également être spécifié. Sinon, le système suppose que les données de fuseau horaire ne sont pas valides et qu’aucune modification ne sera appliquée.

Pour sélectionner le jour approprié dans le mois, définissez le membre wYear sur zéro, les membres wHour et wMinute sur l’heure de transition, le membre wDayOfWeek sur le jour de semaine approprié et le membre wDay pour indiquer l’occurrence du jour de la semaine dans le mois (1 à 5, où 5 indique l’occurrence finale pendant le mois si ce jour de la semaine ne se produit pas 5 fois).

Si le membre wYear n’est pas égal à zéro, la date de transition est absolue ; elle ne se produira qu’une seule fois. Sinon, il s’agit d’une date relative qui se produit annuellement.

DaylightBias

Valeur de biais à utiliser pendant les traductions d’heure locale qui se produisent pendant l’heure d’été. Ce membre est ignoré si aucune valeur n’est fournie pour le membre DaylightDate .

Cette valeur est ajoutée à la valeur du membre Bias pour former le biais utilisé pendant l’heure d’été. Dans la plupart des fuseaux horaires, la valeur de ce membre est -60.

TimeZoneKeyName[128]

Nom de la clé de Registre de fuseau horaire sur l’ordinateur local. Pour plus d'informations, consultez la section Notes.

DynamicDaylightTimeDisabled

Indique si l’heure d’été dynamique est désactivée. La définition de ce membre sur TRUE désactive l’heure d’été dynamique, ce qui oblige le système à utiliser un ensemble fixe de dates de transition.

Pour restaurer l’heure d’été dynamique, appelez la fonction SetDynamicTimeZoneInformation avec DynamicDaylightTimeDisabled défini sur FALSE. Le système lira les dates de transition de l’année en cours à la prochaine mise à jour, au prochain redémarrage du système ou à la fin de l’année civile (selon la première éventualité).

Lors de l’appel de la fonction GetDynamicTimeZoneInformation, ce membre a la valeur TRUE si le fuseau horaire a été défini à l’aide de la fonction SetTimeZoneInformation au lieu de SetDynamicTimeZoneInformation ou si l’utilisateur a désactivé cette fonctionnalité à l’aide de l’application Date et Heure dans Panneau de configuration.

Pour désactiver l’heure d’été, définissez ce membre sur TRUE, effacez les membres StandardDate et DaylightDate , puis appelez SetDynamicTimeZoneInformation. Pour restaurer l’heure d’été, appelez SetDynamicTimeZoneInformation avec DynamicDaylightTimeDisabled défini sur FALSE.

Remarques

L’heure d’été dynamique prend en charge les fuseaux horaires dont les limites de l’heure d’été changent d’une année à l’autre. Cette fonctionnalité facilite la mise à jour des systèmes, en particulier pour les paramètres régionaux où les limites annuelles de l’heure d’été sont connues à l’avance. Une fois le fuseau horaire mis à jour, le paramètre de fuseau horaire actuel est appliqué à toutes les opérations d’heure, même lorsque l’heure en question s’est produite avant la modification du fuseau horaire. Par conséquent, il est préférable de stocker les heures UTC et de les convertir en fuseau horaire local actuel.

Vous pouvez définir les dates de transition de l’année en cours à l’aide de la fonction SetDynamicTimeZoneInformation . Pour définir des dates de transition ultérieures, vous devez ajouter des entrées aux données du Registre. Les paramètres de l’heure d’été dynamique sont stockés dans la clé de Registre suivante :

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows NT
            CurrentVersion
               Time Zones
                  time_zone_name
                     Dynamic DST

Chaque clé DST dynamique inclut les valeurs de Registre suivantes.

Valeur de Registre Type Description
FirstEntry REG_DWORD Première année du tableau.
LastEntry REG_DWORD Dernière année dans le tableau.
année1 REG_BINARY Informations de fuseau horaire suivantes.
typedef struct _REG_TZI_FORMAT
{
    LONG Bias;
    LONG StandardBias;
    LONG DaylightBias;
    SYSTEMTIME StandardDate;
    SYSTEMTIME DaylightDate;
} REG_TZI_FORMAT;
year2 REG_BINARY Structure REG_TZI_FORMAT .
Aspirent REG_BINARY Structure REG_TZI_FORMAT .
 

Pour plus d’informations sur les autres valeurs de la clé Fuseaux horaires , consultez TIME_ZONE_INFORMATION.

StandardName et DaylightName sont localisés en fonction de la langue par défaut de l’interface utilisateur actuelle.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
En-tête timezoneapi.h (inclure Timezoneapi.h, Windows.h)

Voir aussi

GetDynamicTimeZoneInformation

SYSTEMTIME

SetDynamicTimeZoneInformation