TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime, Int32, Int32, DayOfWeek) Méthode

Définition

Définit un changement d’heure qui utilise une règle de date flottante (autrement dit, un changement d’heure qui se produit un jour spécifique d’une semaine spécifique au cours d’un mois spécifique).Defines a time change that uses a floating-date rule (that is, a time change that occurs on a specific day of a specific week of a specific month).

public:
 static TimeZoneInfo::TransitionTime CreateFloatingDateRule(DateTime timeOfDay, int month, int week, DayOfWeek dayOfWeek);
public static TimeZoneInfo.TransitionTime CreateFloatingDateRule (DateTime timeOfDay, int month, int week, DayOfWeek dayOfWeek);
static member CreateFloatingDateRule : DateTime * int * int * DayOfWeek -> TimeZoneInfo.TransitionTime
Public Shared Function CreateFloatingDateRule (timeOfDay As DateTime, month As Integer, week As Integer, dayOfWeek As DayOfWeek) As TimeZoneInfo.TransitionTime

Paramètres

timeOfDay
DateTime

Heure à laquelle le changement d’heure se produit.The time at which the time change occurs. Ce paramètre correspond à la propriété TimeOfDay.This parameter corresponds to the TimeOfDay property.

month
Int32

Mois durant lequel le changement d’heure se produit.The month in which the time change occurs. Ce paramètre correspond à la propriété Month.This parameter corresponds to the Month property.

week
Int32

Semaine du mois durant laquelle le changement d’heure se produit.The week of the month in which the time change occurs. Sa valeur peut varier de 1 à 5, la valeur 5 correspondant à la dernière semaine du mois.Its value can range from 1 to 5, with 5 representing the last week of the month. Ce paramètre correspond à la propriété Week.This parameter corresponds to the Week property.

dayOfWeek
DayOfWeek

Jour de la semaine auquel le changement d’heure se produit.The day of the week on which the time change occurs. Ce paramètre correspond à la propriété DayOfWeek.This parameter corresponds to the DayOfWeek property.

Retours

TimeZoneInfo.TransitionTime

Données sur le changement d’heure.Data about the time change.

Exceptions

Le paramètre timeOfDay a un composant de date différent de la valeur par défaut.The timeOfDay parameter has a non-default date component.

- ou --or- Le paramètre timeOfDay ne représente pas un nombre entier de millisecondes.The timeOfDay parameter does not represent a whole number of milliseconds.

- ou --or- La propriété Kind du paramètre timeOfDay n’est pas Unspecified.The timeOfDay parameter's Kind property is not Unspecified.

month est inférieur à 1 ou supérieur à 12.month is less than 1 or greater than 12.

- ou --or- week est inférieur à 1 ou supérieur à 5.week is less than 1 or greater than 5.

- ou --or- Le paramètre dayOfWeek n’est pas membre de l’énumération DayOfWeek.The dayOfWeek parameter is not a member of the DayOfWeek enumeration.

Exemples

L’exemple suivant crée des transitions de fuseau horaire pour un fuseau horaire imaginaire en utilisant à la fois une règle de date fixe et une règle de date flottante.The following example creates time zone transitions for an imaginary time zone by using both a fixed-date rule and a floating-date rule. La règle de date flottante définit un ajustement de fuseau horaire qui commence à 2:00 A.M..The floating-date rule defines a time zone adjustment that starts at 2:00 A.M. le dernier dimanche de mars et se termine à 3:00 h 00on the last Sunday of March and ends at 3:00 A.M. le quatrième dimanche d’octobre pour les années 1956 à compter.on the fourth Sunday in October for the years 1956 onward.

// Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
TimeZoneInfo imaginaryTZ;
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment;
List<TimeZoneInfo.AdjustmentRule> adjustmentList = new List<TimeZoneInfo.AdjustmentRule>();
// Declare transition time variables to hold transition time information
TimeZoneInfo.TransitionTime transitionRuleStart, transitionRuleEnd;
                      
// Define a fictitious new time zone consisting of fixed and floating adjustment rules 
// Define fixed rule (for 1900-1955)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 2, 0, 0), 3, 15);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 3, 0, 0), 11, 15);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1900, 1, 1), new DateTime(1955, 12, 31), 
             delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define floating rule (for 1956- )
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 3, 5, DayOfWeek.Sunday);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 3, 0, 0), 10, 4, DayOfWeek.Sunday); 
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1956, 1, 1), DateTime.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment); 

// Create fictitious time zone   
imaginaryTZ = TimeZoneInfo.CreateCustomTimeZone("Fictitious Standard Time", new TimeSpan(-9, 0, 0), 
                "(GMT-09:00) Fictitious Time", "Fictitious Standard Time", 
                "Fictitious Daylight Time", adjustmentList.ToArray());
' Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
Dim imaginaryTZ As TimeZoneInfo
Dim delta As New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule
Dim adjustmentList As New List(Of TimeZoneInfo.AdjustmentRule)
' Declare transition time variables to hold transition time information
Dim transitionRuleStart, transitionRuleEnd As TimeZoneInfo.TransitionTime
                      
' Define a fictitious new time zone consisting of fixed and floating adjustment rules 
' Define fixed rule (for 1900-1955)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#2:00:00AM#, 3, 15)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#3:00:00AM#, 11, 15)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#1/1/1900#, #12/31/1955#, delta, _
             transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define floating rule (for 1956- )
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#02:00:00AM#, 3, 5, DayOfWeek.Sunday)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#03:00:00AM#, 10, 4, DayOfWeek.Sunday) 
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1956#, Date.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment) 

' Create fictitious time zone   
imaginaryTZ = TimeZoneInfo.CreateCustomTimeZone("Fictitious Standard Time", New TimeSpan(-9, 0, 0), _
                "(GMT-09:00) Fictitious Time", "Fictitious Standard Time", _
                "Fictitious Daylight Time", adjustmentList.ToArray())

Remarques

Cette méthode crée une règle de date flottante (autrement dit, un changement d’heure qui se produit un jour spécifique d’une semaine spécifique d’un mois spécifique).This method creates a floating-date rule (that is, a time change that occurs on a specific day of a specific week of a specific month). Par exemple, un changement d’heure qui se produit le dernier dimanche d’octobre suit une règle de date flottante.For example, a time change that occurs on the last Sunday of October follows a floating-date rule.

Pour les transitions de l’heure d’hiver à l’heure d’été, l' timeOfDay argument représente l’heure de la transition dans l’heure d’hiver du fuseau horaire.For transitions from standard time to daylight saving time, the timeOfDay argument represents the time of the transition in the time zone's standard time. Pour les transitions de l’heure d’été à l’heure d’hiver, il s’agit de l’heure de la transition dans l’heure d’été du fuseau horaire.For transitions from daylight saving time to standard time, it represents the time of the transition in the time zone's daylight saving time. Notez qu’il s’agit d’une DateTime valeur dont les valeurs année, mois et date doivent toutes être égales à 1.Note that this is a DateTime value whose year, month, and date values must all equal 1.

S’applique à