TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime, Int32, Int32, DayOfWeek) Methode

Definition

Definiert einen Zeitwechsel mit einer beweglichen Datumsregel (d. h. ein Zeitwechsel, der an einem bestimmten Tag in einer bestimmten Woche in einem bestimmten Monat erfolgt).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

Parameter

timeOfDay
DateTime

Die Zeit, zu der der Zeitwechsel erfolgt.The time at which the time change occurs. Dieser Parameter entspricht der TimeOfDay-Eigenschaft.This parameter corresponds to the TimeOfDay property.

month
Int32

Der Monat, in dem die Zeit geändert wird.The month in which the time change occurs. Dieser Parameter entspricht der Month-Eigenschaft.This parameter corresponds to the Month property.

week
Int32

Die Woche des Monats, in der die Zeit geändert wird.The week of the month in which the time change occurs. Der Wert kann zwischen 1 und 5 liegen, wobei 5 die letzte Woche des Monats darstellt.Its value can range from 1 to 5, with 5 representing the last week of the month. Dieser Parameter entspricht der Week-Eigenschaft.This parameter corresponds to the Week property.

dayOfWeek
DayOfWeek

Der Tag der Woche, an dem die Zeit geändert wird.The day of the week on which the time change occurs. Dieser Parameter stimmt mit der DayOfWeek-Eigenschaft überein.This parameter corresponds to the DayOfWeek property.

Gibt zurück

Daten über die Zeitänderung.Data about the time change.

Ausnahmen

Der timeOfDay-Parameter weist eine nicht standardmäßige Datumskomponente auf.The timeOfDay parameter has a non-default date component.

- oder --or- Der timeOfDay-Parameter stellt keine ganze Zahl von Millisekunden dar.The timeOfDay parameter does not represent a whole number of milliseconds.

- oder --or- Die Kind-Eigenschaft des timeOfDay-Parameters ist nicht Unspecified.The timeOfDay parameter's Kind property is not Unspecified.

month ist kleiner als 1 oder größer als 12.month is less than 1 or greater than 12.

- oder --or- week ist kleiner als 1 oder größer als 5.week is less than 1 or greater than 5.

- oder --or- Der dayOfWeek-Parameter ist kein Member der DayOfWeek-Enumeration.The dayOfWeek parameter is not a member of the DayOfWeek enumeration.

Beispiele

Im folgenden Beispiel werden Zeit Zonen Übergänge für eine imaginäre Zeitzone mithilfe einer Regel für festes Datum und einer gleitenden Datums Regel erstellt.The following example creates time zone transitions for an imaginary time zone by using both a fixed-date rule and a floating-date rule. Die Floating-Date-Regel definiert eine Zeit Zonen Anpassung, die um 2:00 Uhr beginnt.The floating-date rule defines a time zone adjustment that starts at 2:00 A.M. am letzten Sonntag im März und endet um 3:00 Uhron the last Sunday of March and ends at 3:00 A.M. am vierten Sonntag im Oktober für die Jahre 1956 weiter.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())

Hinweise

Diese Methode erstellt eine Gleit Komma Regel (d. h. eine Zeitänderung, die an einem bestimmten Tag einer bestimmten Woche eines bestimmten Monats auftritt).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). Beispielsweise folgt eine Zeitänderung, die am letzten Sonntag des Oktober stattfindet, einer Gleit Komma Regel.For example, a time change that occurs on the last Sunday of October follows a floating-date rule.

Für Übergänge von der Standardzeit zur Sommerzeit stellt das timeOfDay -Argument die Zeit des Übergangs in der Standardzeit der Zeitzone dar.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. Bei Übergängen von Sommerzeit zu Normalzeit stellt Sie die Zeit des Übergangs in der Sommerzeit der Zeitzone dar.For transitions from daylight saving time to standard time, it represents the time of the transition in the time zone's daylight saving time. Beachten Sie, dass dies DateTime ein Wert ist, dessen Werte für Jahr, Monat und Datum alle gleich 1 sein müssen.Note that this is a DateTime value whose year, month, and date values must all equal 1.

Gilt für: