Lire en anglais

Partager via


TimeZoneInfo.AdjustmentRule Classe

Définition

Fournit des informations sur un ajustement de fuseau horaire, tel que la transition vers et à partir de l’heure d’été.

C#
public sealed class TimeZoneInfo.AdjustmentRule : IEquatable<TimeZoneInfo.AdjustmentRule>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
C#
[System.Serializable]
public sealed class TimeZoneInfo.AdjustmentRule : IEquatable<TimeZoneInfo.AdjustmentRule>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
Héritage
TimeZoneInfo.AdjustmentRule
Attributs
Implémente

Exemples

L’exemple suivant récupère tous les fuseaux horaires définis sur le système local et affiche des informations complètes sur leurs règles d’ajustement.

C#
private enum WeekOfMonth 
{
   First = 1,
   Second = 2,
   Third = 3,
   Fourth = 4,
   Last = 5,
}

private static void ShowStartAndEndDates()
{
   // Get all time zones from system
   ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
   string[] monthNames = CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;
   // Get each time zone
   foreach (TimeZoneInfo timeZone in timeZones)
   {
      TimeZoneInfo.AdjustmentRule[] adjustments = timeZone.GetAdjustmentRules();
      // Display message for time zones with no adjustments
      if (adjustments.Length == 0)
      {
         Console.WriteLine("{0} has no adjustment rules", timeZone.StandardName);
      }   
      else
      {
         // Handle time zones with 1 or 2+ adjustments differently
         bool showCount = false;
         int ctr = 0;
         string spacer = "";
         
         Console.WriteLine("{0} Adjustment rules", timeZone.StandardName);
         if (adjustments.Length > 1)
         {
            showCount = true;
            spacer = "   ";
         }   
         // Iterate adjustment rules
         foreach (TimeZoneInfo.AdjustmentRule adjustment in adjustments)
         {
            if (showCount)
            { 
               Console.WriteLine("   Adjustment rule #{0}", ctr+1);
               ctr++;
            }
            // Display general adjustment information
            Console.WriteLine("{0}   Start Date: {1:D}", spacer, adjustment.DateStart);
            Console.WriteLine("{0}   End Date: {1:D}", spacer, adjustment.DateEnd);
            Console.WriteLine("{0}   Time Change: {1}:{2:00} hours", spacer, 
                              adjustment.DaylightDelta.Hours, adjustment.DaylightDelta.Minutes);
            // Get transition start information
            TimeZoneInfo.TransitionTime transitionStart = adjustment.DaylightTransitionStart;
            Console.Write("{0}   Annual Start: ", spacer);
            if (transitionStart.IsFixedDateRule)
            {
               Console.WriteLine("On {0} {1} at {2:t}", 
                                 monthNames[transitionStart.Month - 1], 
                                 transitionStart.Day, 
                                 transitionStart.TimeOfDay);
            }
            else
            {
               Console.WriteLine("The {0} {1} of {2} at {3:t}", 
                                 ((WeekOfMonth)transitionStart.Week).ToString(), 
                                 transitionStart.DayOfWeek.ToString(), 
                                 monthNames[transitionStart.Month - 1], 
                                 transitionStart.TimeOfDay);
            }
            // Get transition end information
            TimeZoneInfo.TransitionTime transitionEnd = adjustment.DaylightTransitionEnd;
            Console.Write("{0}   Annual End: ", spacer);
            if (transitionEnd.IsFixedDateRule)
            {
               Console.WriteLine("On {0} {1} at {2:t}", 
                                 monthNames[transitionEnd.Month - 1], 
                                 transitionEnd.Day, 
                                 transitionEnd.TimeOfDay);
            }
            else
            {
               Console.WriteLine("The {0} {1} of {2} at {3:t}", 
                                 ((WeekOfMonth)transitionEnd.Week).ToString(), 
                                 transitionEnd.DayOfWeek.ToString(), 
                                 monthNames[transitionEnd.Month - 1], 
                                 transitionEnd.TimeOfDay);
            }
         }
      }   
      Console.WriteLine();
   } 
}

Voici une petite partie de la sortie générée par l’exemple. La sortie exacte varie selon le système d’exploitation et la date à laquelle l’exemple est exécuté.

Morocco Standard Time Adjustment rules  
   Adjustment rule #1  
      Start Date: Tuesday, January 01, 2008  
      End Date: Wednesday, December 31, 2008  
      Time Change: 1:00 hours  
      Annual Start: The Last Saturday of May at 11:59 PM  
      Annual End: The Last Sunday of August at 11:59 PM  
   Adjustment rule #2  
      Start Date: Thursday, January 01, 2009  
      End Date: Thursday, December 31, 2009  
      Time Change: 1:00 hours  
      Annual Start: The Last Sunday of May at 11:59 PM  
      Annual End: The Third Thursday of August at 11:59 PM  

Coordinated Universal Time has no adjustment rules  

GMT Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 1:00 AM  
   Annual End: The Last Sunday of October at 2:00 AM  

Greenwich Standard Time has no adjustment rules  

W. Europe Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

Central Europe Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

Romance Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

Central European Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

W. Central Africa Standard Time has no adjustment rules  

Remarques

La TimeZoneInfo.AdjustmentRule classe définit les dates de début et de fin effectives d’un changement d’heure particulier vers et à partir de l’heure d’été, respectivement, ainsi que son delta (la quantité exacte par laquelle l’ajustement entraîne la modification de l’heure standard du fuseau horaire). De plus, deux propriétés retournent TimeZoneInfo.TransitionTime des objets qui définissent chaque transition vers et depuis le temps standard.

Notes

Une instance de la TimeZoneInfo.AdjustmentRule classe est immuable. Une fois qu’un objet a été créé, ses valeurs ne peuvent pas être modifiées.

Pour créer un TimeZoneInfo.AdjustmentRule objet, appelez la static méthode (Shared dans Visual Basic). TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule Vous pouvez ensuite fournir un tableau d’objets TimeZoneInfo.AdjustmentRule à deux des surcharges de la TimeZoneInfo.CreateCustomTimeZone méthode. Pour récupérer les règles d’ajustement d’un fuseau horaire particulier, appelez sa TimeZoneInfo.GetAdjustmentRules méthode, qui retourne un tableau d’objets TimeZoneInfo.AdjustmentRule .

Propriétés

BaseUtcOffsetDelta

Obtient la différence de temps avec le décalage UTC de base pour le fuseau horaire pendant la période de règle d’ajustement.

DateEnd

Obtient la date de fin de la règle d’ajustement.

DateStart

Obtient la date de prise d’effet de la règle d’ajustement.

DaylightDelta

Obtient le temps nécessaire pour former l’heure d’été du fuseau horaire. Ce délai est ajouté au décalage du fuseau horaire par rapport au temps universel coordonné (UTC).

DaylightTransitionEnd

Obtient des informations sur le passage annuel de l’heure d’été à l’heure d’hiver.

DaylightTransitionStart

Obtient des informations sur le passage annuel de l’heure d’hiver à l’heure d’été.

Méthodes

CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime)

Crée une règle d’ajustement pour un fuseau horaire particulier.

CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime, TimeSpan)

Crée une règle d’ajustement pour un fuseau horaire particulier.

Equals(Object)

Indique si l’instance actuelle est égale à une autre instance.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Equals(TimeZoneInfo+AdjustmentRule)

Détermine si l’objet TimeZoneInfo.AdjustmentRule actuel est identique à un deuxième objet TimeZoneInfo.AdjustmentRule.

GetHashCode()

Sert de fonction de hachage pour les algorithmes de hachage et les structures de données telles que les tables de hachage.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IDeserializationCallback.OnDeserialization(Object)

S’exécute quand la désérialisation d’un objet TimeZoneInfo.AdjustmentRule est terminée.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Remplit un objet SerializationInfo avec les données nécessaires pour le sérialiser.

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Voir aussi