Teilen über


TimeZoneInfo.TransitionTime.Week Eigenschaft

Definition

Ruft die Woche des Monats ab, in der die Zeit geändert wird.

public:
 property int Week { int get(); };
public int Week { get; }
member this.Week : int
Public ReadOnly Property Week As Integer

Eigenschaftswert

Int32

Die Woche des Monats, in der die Zeit geändert wird.

Beispiele

Im folgenden Beispiel werden die Zeitzonen auf dem lokalen Computer aufgezählt und Übergangszeitinformationen für alle Gleitdatumsübergänge angezeigt. Die Zeitinformationen umfassen die Woche des Monats, in der die Zeitänderung auftritt. Im Beispiel wird auch eine Aufzählung definiert, um eine WeekOfMonth Zeichenfolge anzuzeigen, die den Ordinalwert der Week Eigenschaft anstelle einer ganzzahl darstellt.

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

private void GetFloatingTransitionTimes()
{
   ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
   foreach (TimeZoneInfo zone in timeZones)
   {
      TimeZoneInfo.AdjustmentRule[] adjustmentRules = zone.GetAdjustmentRules();
      DateTimeFormatInfo dateInfo = CultureInfo.CurrentCulture.DateTimeFormat;
      foreach (TimeZoneInfo.AdjustmentRule adjustmentRule in adjustmentRules)
      {
         TimeZoneInfo.TransitionTime daylightStart = adjustmentRule.DaylightTransitionStart;
         if (! daylightStart.IsFixedDateRule)
            Console.WriteLine("{0}, {1:d}-{2:d}: Begins at {3:t} on the {4} {5} of {6}.", 
                              zone.StandardName, 
                              adjustmentRule.DateStart, 
                              adjustmentRule.DateEnd,                                 
                              daylightStart.TimeOfDay, 
                              ((WeekOfMonth)daylightStart.Week).ToString(),  
                              daylightStart.DayOfWeek.ToString(),
                              dateInfo.GetMonthName(daylightStart.Month));

         TimeZoneInfo.TransitionTime daylightEnd = adjustmentRule.DaylightTransitionEnd;
         if (! daylightEnd.IsFixedDateRule)
            Console.WriteLine("{0}, {1:d}-{2:d}: Ends at {3:t} on the {4} {5} of {6}.", 
                              zone.StandardName, 
                              adjustmentRule.DateStart, 
                              adjustmentRule.DateEnd,                                 
                              daylightEnd.TimeOfDay, 
                              ((WeekOfMonth)daylightEnd.Week).ToString(),  
                              daylightEnd.DayOfWeek.ToString(), 
                              dateInfo.GetMonthName(daylightEnd.Month));
      }
   }   
}
type WeekOfMonth =
    | First = 1
    | Second = 2
    | Third = 3
    | Fourth = 4
    | Last = 5

let getFloatingTransitionTimes () =
    let timeZones = TimeZoneInfo.GetSystemTimeZones()
    for zone in timeZones do
        let adjustmentRules = zone.GetAdjustmentRules()
        let dateInfo = CultureInfo.CurrentCulture.DateTimeFormat
        for adjustmentRule in adjustmentRules do
            let daylightStart = adjustmentRule.DaylightTransitionStart
            if not daylightStart.IsFixedDateRule then
                printfn $"{zone.StandardName}, {adjustmentRule.DateStart:d}-{adjustmentRule.DateEnd:d}: Begins at {daylightStart.TimeOfDay:t} on the {enum<WeekOfMonth> daylightStart.Week} {daylightStart.DayOfWeek} of {dateInfo.GetMonthName daylightStart.Month}." 
            
            let daylightEnd = adjustmentRule.DaylightTransitionEnd
            if not daylightEnd.IsFixedDateRule then
                printfn $"{zone.StandardName}, {adjustmentRule.DateStart:d}-{adjustmentRule.DateEnd:d}: Ends at {daylightEnd.TimeOfDay:t} on the {enum<WeekOfMonth> daylightEnd.Week} {daylightEnd.DayOfWeek} of {dateInfo.GetMonthName daylightEnd.Month}."
Private Enum WeekOfMonth As Integer
   First = 1
   Second = 2
   Third = 3
   Fourth = 4
   Last = 5 
End Enum

Private Sub GetFloatingTransitionTimes()
   Dim timeZones As ReadOnlyCollection(Of TimeZoneInfo) = TimeZoneInfo.GetSystemTimeZones()
   For Each zone As TimeZoneInfo In timeZones
      Dim adjustmentRules() As TimeZoneInfo.AdjustmentRule = zone.GetAdjustmentRules()
      For Each adjustmentRule As TimeZoneInfo.AdjustmentRule in adjustmentRules
         Dim daylightStart As TimeZoneInfo.TransitionTime = adjustmentRule.DaylightTransitionStart
         If Not daylightStart.IsFixedDateRule Then
            Console.WriteLine("{0}, {1:d}-{2:d}: Begins at {3:t} on the {4} {5} of {6}.", _
                              zone.StandardName, _
                              adjustmentRule.DateStart, _
                              adjustmentRule.DateEnd, _                                 
                              daylightStart.TimeOfDay, _
                              CType(daylightStart.Week, WeekOfMonth).ToString(), _ 
                              daylightStart.DayOfWeek.ToString(), _
                              MonthName(daylightStart.Month))
         End If
         Dim daylightEnd As TimeZoneInfo.TransitionTime = adjustmentRule.DaylightTransitionEnd
         If Not daylightEnd.IsFixedDateRule Then
            Console.WriteLine("{0}, {1:d}-{2:d}: Ends at {3:t} on the {4} {5} of {6}.", _
                              zone.StandardName, _
                              adjustmentRule.DateStart, _
                              adjustmentRule.DateEnd, _                                 
                              daylightEnd.TimeOfDay, _
                              CType(daylightEnd.Week, WeekOfMonth).ToString(), _ 
                              daylightEnd.DayOfWeek.ToString(), _
                              MonthName(daylightEnd.Month))
         End If   
      Next
   Next   
End Sub

Hinweise

Der Wert der Week Eigenschaft wird nur für Zeitänderungen mit gleitenden Datumsregeln verwendet. Gültige Werte können zwischen 1 und 5 liegen.

Die Month Eigenschaft definiert den Monat, in dem die Zeitänderung auftritt. Die Week Eigenschaft bestimmt die Woche, auf der der Übergang auftritt. Die DayOfWeek Eigenschaft definiert den Wochentag, auf dem der Übergang auftritt. Der Wert der Eigenschaft wird wie in der Week folgenden Tabelle dargestellt bestimmt.

Wenn der Wert der Week-Eigenschaft ist Der Übergang tritt auf
1 Das erste Vorkommen des DayOfWeek Werts in Month.
2 Das zweite Vorkommen des DayOfWeek Werts in Month.
3 Das dritte Vorkommen des DayOfWeek Werts in Month.
4 Das vierte Vorkommen des DayOfWeek Werts in Month.
5 Das letzte Vorkommen des DayOfWeek Werts in Month.

Wenn beispielsweise ein Übergang am ersten Sonntag vom März auftritt, beträgt der Wert der Week Eigenschaft 1. Wenn es am letzten Sonntag vom März auftritt, beträgt der Wert der Week Eigenschaft 5.

Gilt für

Siehe auch