編輯

共用方式為


TimeZoneInfo.TransitionTime.Day Property

Definition

Gets the day on which the time change occurs.

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

Property Value

The day on which the time change occurs.

Examples

The following example enumerates the time zones found on the local computer and displays transition time information for all fixed-date transitions. The time information includes the day on which the time change occurs.

private void GetFixedTransitionTimes()
{
   ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
   DateTimeFormatInfo dateInfo = CultureInfo.CurrentCulture.DateTimeFormat;
   foreach (TimeZoneInfo zone in timeZones)
   {
      TimeZoneInfo.AdjustmentRule[] adjustmentRules = zone.GetAdjustmentRules();
      foreach (TimeZoneInfo.AdjustmentRule adjustmentRule in adjustmentRules)
      {
         TimeZoneInfo.TransitionTime daylightStart = adjustmentRule.DaylightTransitionStart;
         if (daylightStart.IsFixedDateRule)
            Console.WriteLine("For {0}, daylight savings time begins at {1:t} on {2} {3} from {4:d} to {5:d}.", 
                              zone.StandardName, 
                              daylightStart.TimeOfDay,  
                              dateInfo.GetMonthName(daylightStart.Month), 
                              daylightStart.Day, 
                              adjustmentRule.DateStart, 
                              adjustmentRule.DateEnd);
         TimeZoneInfo.TransitionTime daylightEnd = adjustmentRule.DaylightTransitionEnd;
         if (daylightEnd.IsFixedDateRule)
            Console.WriteLine("For {0}, daylight savings time ends at {1:t} on {2} {3} from {4:d} to {5:d}.", 
                              zone.StandardName, 
                              daylightEnd.TimeOfDay,  
                              dateInfo.GetMonthName(daylightEnd.Month), 
                              daylightEnd.Day, 
                              adjustmentRule.DateStart, 
                              adjustmentRule.DateEnd);
      }
   }   
}
let getFixedTransitionTimes () =
    let timeZones = TimeZoneInfo.GetSystemTimeZones()
    let dateInfo = CultureInfo.CurrentCulture.DateTimeFormat
    for zone in timeZones do
        let adjustmentRules = zone.GetAdjustmentRules()
        for adjustmentRule in adjustmentRules do
            let daylightStart = adjustmentRule.DaylightTransitionStart
            if daylightStart.IsFixedDateRule then
                printfn $"For {zone.StandardName}, daylight savings time begins at {daylightStart.TimeOfDay:t} on {dateInfo.GetMonthName daylightStart.Month} {daylightStart.Day} from {adjustmentRule.DateStart:d} to {adjustmentRule.DateEnd:d}." 
            let daylightEnd = adjustmentRule.DaylightTransitionEnd
            if daylightEnd.IsFixedDateRule then
                printfn $"For {zone.StandardName}, daylight savings time ends at {daylightEnd.TimeOfDay:t} on {dateInfo.GetMonthName daylightEnd.Month} {daylightEnd.Day} from {adjustmentRule.DateStart:d} to {adjustmentRule.DateEnd:d}."
Private Sub GetFixedTransitionTimes()
   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 daylightStart.IsFixedDateRule Then
            Console.WriteLine("For {0}, daylight savings time begins at {1:t} on {2} {3} from {4:d} to {5:d}.", _
                              zone.StandardName, _
                              daylightStart.TimeOfDay, _ 
                              MonthName(daylightStart.Month), _
                              daylightStart.Day, _
                              adjustmentRule.DateStart, _
                              adjustmentRule.DateEnd)
         End If
         Dim daylightEnd As TimeZoneInfo.TransitionTime = adjustmentRule.DaylightTransitionEnd
         If daylightEnd.IsFixedDateRule Then
            Console.WriteLine("For {0}, daylight savings time ends at {1:t} on {2} {3} from {4:d} to {5:d}.", _
                              zone.StandardName, _
                              daylightEnd.TimeOfDay, _ 
                              MonthName(daylightEnd.Month), _
                              daylightEnd.Day, _
                              adjustmentRule.DateStart, _
                              adjustmentRule.DateEnd)
         End If   
      Next
   Next   
End Sub

Remarks

The Day property returns a valid value only if the IsFixedDateRule property is true.

The Day property value corresponds to the value of the day parameter of the CreateFixedDateRule method. If its value is greater than the number of days in the month of the transition, the transition occurs on the last day of the month.

The Day property indicates the day of the month on which a fixed-date rule is applied (for example, April 15). In contrast, the DayOfWeek property indicates the day of the week on which a floating-date rule is applied (for example, the second Sunday of November).

Applies to