|
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
|
Traducción
Original
|
TimeZoneInfo.GetAdjustmentRules (Método)
Espacio de nombres: System
Ensamblado: mscorlib (en mscorlib.dll)
Valor devuelto
Tipo: System.TimeZoneInfo.AdjustmentRule[]| Excepción | Condición |
|---|---|
| OutOfMemoryException |
private enum WeekOfMonth { First = 1, Second = 2, Third = 3, Fourth = 4, Last = 5, } private static void ShowStartAndEndDates() { // Get all time zones from system ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones(); string[] monthNames = CultureInfo.CurrentCulture.DateTimeFormat.MonthNames; // Get each time zone foreach (TimeZoneInfo timeZone in timeZones) { TimeZoneInfo.AdjustmentRule[] adjustments = timeZone.GetAdjustmentRules(); // Display message for time zones with no adjustments if (adjustments.Length == 0) { Console.WriteLine("{0} has no adjustment rules", timeZone.StandardName); } else { // Handle time zones with 1 or 2+ adjustments differently bool showCount = false; int ctr = 0; string spacer = ""; Console.WriteLine("{0} Adjustment rules", timeZone.StandardName); if (adjustments.Length > 1) { showCount = true; spacer = " "; } // Iterate adjustment rules foreach (TimeZoneInfo.AdjustmentRule adjustment in adjustments) { if (showCount) { Console.WriteLine(" Adjustment rule #{0}", ctr+1); ctr++; } // Display general adjustment information Console.WriteLine("{0} Start Date: {1:D}", spacer, adjustment.DateStart); Console.WriteLine("{0} End Date: {1:D}", spacer, adjustment.DateEnd); Console.WriteLine("{0} Time Change: {1}:{2:00} hours", spacer, adjustment.DaylightDelta.Hours, adjustment.DaylightDelta.Minutes); // Get transition start information TimeZoneInfo.TransitionTime transitionStart = adjustment.DaylightTransitionStart; Console.Write("{0} Annual Start: ", spacer); if (transitionStart.IsFixedDateRule) { Console.WriteLine("On {0} {1} at {2:t}", monthNames[transitionStart.Month - 1], transitionStart.Day, transitionStart.TimeOfDay); } else { Console.WriteLine("The {0} {1} of {2} at {3:t}", ((WeekOfMonth)transitionStart.Week).ToString(), transitionStart.DayOfWeek.ToString(), monthNames[transitionStart.Month - 1], transitionStart.TimeOfDay); } // Get transition end information TimeZoneInfo.TransitionTime transitionEnd = adjustment.DaylightTransitionEnd; Console.Write("{0} Annual End: ", spacer); if (transitionEnd.IsFixedDateRule) { Console.WriteLine("On {0} {1} at {2:t}", monthNames[transitionEnd.Month - 1], transitionEnd.Day, transitionEnd.TimeOfDay); } else { Console.WriteLine("The {0} {1} of {2} at {3:t}", ((WeekOfMonth)transitionEnd.Week).ToString(), transitionEnd.DayOfWeek.ToString(), monthNames[transitionEnd.Month - 1], transitionEnd.TimeOfDay); } } } Console.WriteLine(); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.