Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Vue d'ensemble des fuseaux horaires

Le TimeZoneInfo classe simplifie la création d'applications prenant en charge les fuseaux horaires. Le TimeZone classe prend en charge de travail avec le fuseau horaire local et le temps universel coordonné (UTC). Le TimeZoneInfo classe prend en charge à la fois de ces zones, ainsi que n'importe quel fuseau horaire sur lequel les informations sont prédéfinies dans le Registre. Vous pouvez également utiliser TimeZoneInfo Pour définir des fuseaux horaires personnalisés, le système n'a pas d'informations.

Un fuseau horaire est une zone géographique qui partage le même temps. En général, mais pas toujours, les fuseaux horaires adjacents ont une heure de différence. L'heure dans un des fuseaux horaires du monde peut être exprimée comme un offset à partir du temps universel coordonné (UTC).

La plupart des fuseaux horaires du monde prend en charge l'heure d'été. L'heure d'été essaie d'optimiser les heures d'hiver en avance lors du transfert d'une heure dans le ressort ou le début de l'été et en retournant à l'heure normale (ou standard) de la fin de l'été ou l'automne. Ces modifications à l'heure d'hiver et sont appelées des règles d'ajustement.

Le passage à / de l'heure dans un fuseau horaire particulier peut être défini par un texte fixe ou une règle d'ajustement flottante. Une règle d'ajustement fixe définit une date particulière sur laquelle la transition vers ou à partir de l'heure d'été a lieu chaque année. Par exemple, une transition de l'heure à l'heure d'hiver a lieu chaque année le 25 octobre suit une règle d'ajustement fixe. Beaucoup plus courantes sont des règles d'ajustement, laquelle définir un jour particulier d'une semaine spécifique d'un mois particulier pour la transition vers ou à partir de l'heure flottante. Par exemple, une transition d'heure d'hiver à l'heure qui se produit le troisième dimanche de mars suit une règle d'ajustement flottante.

Pour les fuseaux horaires qui prennent en charge les règles d'ajustement, la transition vers et à partir de l'heure d'été crée deux types d'anomalies : heures non valides et les heures ambiguës. Une heure non valide est une heure inexistante créée par la transition d'heure d'hiver à l'heure d'été. Par exemple, si cette transition se produit sur un jour donné à 2:00 A.M. et le temps de passer à 3 h 00 du matin, chaque intervalle de temps entre 2:00 A.M. et 2:59:99 A.M. n'est pas valide. Une heure ambiguë est une heure qui peut être mappée à deux heures différentes dans un fuseau horaire. Il est créé par le passage de l'heure d'été à heure d'hiver. Par exemple, si cette transition se produit sur un jour donné à 2:00 A.M. et le temps de passer à 1 h 00, chaque intervalle de temps entre : 1:00 A.M. et 1:59:99 A.M. peut être interprété comme une heure d'hiver ou une heure.

Le tableau suivant définit les termes couramment utilisés lorsque vous travaillez avec les fuseaux horaires et le développement d'applications prenant en charge les fuseaux horaires.

Terme

Définition

Règle d'ajustement

Une règle qui définit quand la transition d'heure d'hiver à l'heure et de l'heure à l'heure d'hiver se produit. Chaque règle d'ajustement a une date de début et de fin qui définit quand la règle est en place (par exemple, la règle de réglage est en place depuis le 1er janvier 1986 au 31 décembre 2006), un delta (montant de la modification de l'heure d'hiver par lequel l'application de la règle de réglage) et des informations sur la date et une heure que les transitions se produisent pendant la période d'ajustement. Transitions peuvent suivre une règle fixe ou une règle flottante.

Heure ambiguë

Une heure qui peut être mappée à deux heures différentes dans un fuseau horaire. Il se produit lorsque l'horloge est ajustée dans le temps, comme lors de la transition de l'heure d'un fuseau horaire à son heure d'hiver. Par exemple, si cette transition se produit sur un jour donné à 2:00 A.M. et le temps de passer à 1 h 00, chaque intervalle de temps entre : 1:00 A.M. et 1:59:99 A.M. peut être interprété comme une heure d'hiver ou une heure.

Règle fixe

Une règle d'ajustement qui définit une date particulière pour la transition vers ou à partir de l'heure d'été. Par exemple, une transition de l'heure à l'heure d'hiver a lieu chaque année le 25 octobre suit une règle d'ajustement fixe.

Règle de date flottante

Une règle d'ajustement qui définit le jour d'une semaine spécifique d'un mois particulier pour la transition vers ou à partir de l'heure d'été. Par exemple, une transition d'heure d'hiver à l'heure qui se produit le troisième dimanche de mars suit une règle d'ajustement flottante.

Heure non valide

Heure inexistante qui est un artefact de la transition d'heure d'hiver à l'heure d'été. Il se produit lorsque l'horloge est avancée dans le temps, tels que lors de la transition heure d'un fuseau horaire d'hiver à son heure. Par exemple, si cette transition se produit sur un jour donné à 2:00 A.M. et le temps de passer à 3 h 00 du matin, chaque intervalle de temps entre 2:00 A.M. et 2:59:99 A.M. n'est pas valide.

Temps de transition

Informations sur une heure spécifique modifier, par exemple la modification de l'heure à une heure d'hiver ou vice versa, dans un fuseau horaire particulier.

Dans le.NET Framework, un TimeZoneInfo objet représente un fuseau horaire. Le TimeZoneInfo classe inclut un GetAdjustmentRules méthode qui retourne un tableau de [.AdjustmentRule] objets. Chaque élément de ce tableau fournit des informations sur la transition vers et à partir de l'heure d'été pour une période donnée. (Pour les fuseaux horaires qui ne prennent pas en charge l'heure d'été, la méthode retourne un tableau vide.) Chaque [.AdjustmentRule] objet a un DaylightTransitionStart et un DaylightTransitionEnd propriété qui définit la date et l'heure de la transition vers et à partir de l'heure d'été. Le IsFixedDateRule propriété indique si ce passage est fixe ou flottante.

Le.NET Framework repose sur les informations de fuseau horaire fournies par le système d'exploitation Windows et stockées dans le Registre. En raison du nombre de fuseaux horaires de la planète, pas tous les fuseaux horaires existants sont représentés dans le Registre. En outre, car le Registre est une structure dynamique, fuseaux horaires prédéfinis peut être ajoutées ou supprimées à partir de celui-ci. Enfin, le Registre ne contient pas nécessairement des données historiques de fuseau horaire. Par exemple, dans Windows XP, le Registre contient des données sur un seul ensemble d'ajustements des fuseaux horaires. Windows Vista prend en charge les données dynamiques de fuseau horaire, ce qui signifie qu'un seul fuseau horaire peut avoir plusieurs règles d'ajustement qui s'appliquent à des intervalles spécifiques d'années. Toutefois, la plupart des fuseaux horaires définis dans le Windows Vista du Registre et la prise en charge l'heure d'été ont uniquement un ou deux règles d'ajustement prédéfinies.

La dépendance de la TimeZoneInfo une classe dans le Registre signifie qu'une application de tous les fuseaux horaires ne peut pas être sûr qu'un fuseau horaire particulier soit défini dans le Registre. Par conséquent, la tentative d'instancier un fuseau horaire spécifique (autre que le fuseau horaire local ou le fuseau horaire qui représente l'heure UTC) doit utiliser la gestion des exceptions. Il doit également fournir une méthode d'exécution de l'application à continuer si un TimeZoneInfo objet ne peut pas être instancié à partir du Registre.

Pour gérer l'absence d'un fuseau horaire requis, le TimeZoneInfo classe inclut un CreateCustomTimeZone méthode, vous pouvez utiliser pour créer des fuseaux horaires personnalisés qui ne figurent pas dans le Registre. Pour plus d'informations sur la création d'un fuseau horaire personnalisé, consultez Comment : créer des fuseaux horaires sans règles d'ajustement et Comment : créer des fuseaux horaires avec des règles d'ajustement. En outre, vous pouvez utiliser le ToSerializedString méthode pour convertir un nouveau fuseau horaire en une chaîne et enregistrez-le dans un magasin de données (par exemple, une base de données, un fichier texte, le Registre ou une ressource d'application). Vous pouvez ensuite utiliser la FromSerializedString méthode pour convertir cette chaîne en différé à un TimeZoneInfo objet. Pour plus d'informations, consultez Comment : enregistrer des fuseaux horaires dans une ressource incorporée et Comment : restaurer des fuseaux horaires dans une ressource incorporée.

Étant donné que chaque fuseau horaire est caractérisée par un offset de base à l'heure UTC, ainsi que par un offset d'UTC qui reflète toute règle d'ajustement, une heure dans un fuseau horaire peut être facilement convertie à la fois dans un autre fuseau horaire. À cet effet, le TimeZoneInfo objet inclut plusieurs méthodes de conversion, y compris :

  • ConvertTimeFromUtc , qui convertit l'heure UTC en heure d'un fuseau horaire désigné.

  • ConvertTimeToUtc , qui convertit l'heure dans un fuseau horaire désigné en heure UTC.

  • ConvertTime , qui convertit l'heure dans un fuseau horaire désigné en heure d'un autre fuseau horaire désigné.

  • ConvertTimeBySystemTimeZoneId , qui utilise des identificateurs de fuseau horaire (au lieu de TimeZoneInfo objets) en tant que paramètres pour convertir l'heure dans un fuseau horaire désigné en heure d'un autre fuseau horaire désigné.

Pour plus d'informations sur la conversion d'heures entre fuseaux horaires, consultez Conversion d'heures entre fuseaux horaires.

Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.