TimeZoneInfo.TransitionTime.Day Property

 

Gets the day on which the time change occurs.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public int Day { get; }

Property Value

Type: System.Int32

The day on which the time change occurs.

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).

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);
      }
   }   
}

.NET Framework
Available since 3.5
Return to top
Show: