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.
|
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) |