Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase TimeZoneInfo.AdjustmentRule

 

Publicado: octubre de 2016

Proporciona información sobre un ajuste de zona horaria, como el cambio de horario de verano.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

System.Object
  System.TimeZoneInfo.AdjustmentRule

[SerializableAttribute]
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public sealed class AdjustmentRule : IEquatable<TimeZoneInfo.AdjustmentRule>, 
	ISerializable, IDeserializationCallback

NombreDescripción
System_CAPS_pubpropertyDateEnd

Obtiene la fecha en la que la regla de ajuste deja de estar en vigor.

System_CAPS_pubpropertyDateStart

Obtiene la fecha de entrada en vigor de la regla de ajuste.

System_CAPS_pubpropertyDaylightDelta

Obtiene la cantidad de tiempo necesaria para formar el horario de verano de la zona horaria. Esta cantidad de tiempo se agrega a la diferencia con la hora universal coordinada (UTC) de la zona horaria.

System_CAPS_pubpropertyDaylightTransitionEnd

Obtiene información sobre la transición anual del horario de verano al horario estándar.

System_CAPS_pubpropertyDaylightTransitionStart

Obtiene información sobre la transición anual del horario estándar al horario de verano.

NombreDescripción
System_CAPS_pubmethodSystem_CAPS_staticCreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo.TransitionTime, TimeZoneInfo.TransitionTime)

Crea una nueva regla de ajuste para una zona horaria determinada.

System_CAPS_pubmethodEquals(TimeZoneInfo.AdjustmentRule)

Determina si el objeto TimeZoneInfo.AdjustmentRule actual es igual a un segundo objeto TimeZoneInfo.AdjustmentRule.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_pubmethodGetHashCode()

Actúa como una función hash para los algoritmos hash y estructuras de datos como las tablas hash.(Invalida Object.GetHashCode()).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDeserializationCallback.OnDeserialization(Object)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Se ejecuta cuando se completa la deserialización de un objeto TimeZoneInfo.AdjustmentRule.

System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Rellena un objeto SerializationInfo con los datos necesarios para serializar este objeto.

La TimeZoneInfo.AdjustmentRule clase define la eficaz fechas inicial y final de un cambio de hora concreto a y desde el horario de verano, respectivamente, así como su delta (la cantidad exacta que hace hora estándar de la zona horaria cambiar el ajuste). Además, dos propiedades devuelven TimeZoneInfo.TransitionTime objetos que definen cuándo se produce cada transición a y desde el horario estándar.

System_CAPS_noteNota

Una instancia de la TimeZoneInfo.AdjustmentRule clase es inmutable. Una vez creado un objeto, no se puede modificar sus valores.

Para crear un TimeZoneInfo.AdjustmentRule de objeto, llame a la static (Shared en Visual Basic) TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule (método). A continuación, puede proporcionar una matriz de TimeZoneInfo.AdjustmentRule objetos a dos de las sobrecargas de la TimeZoneInfo.CreateCustomTimeZone (método). Para recuperar las reglas de ajuste de una zona horaria determinada, llame a su TimeZoneInfo.GetAdjustmentRules método, que devuelve una matriz de TimeZoneInfo.AdjustmentRule objetos.

En el siguiente ejemplo recupera todas las zonas horarias definidas en el sistema local y muestra información completa sobre sus reglas de ajuste.

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

La siguiente es una pequeña parte de la salida generada por el ejemplo. El resultado exacto variará según el sistema operativo y la fecha en que se ejecuta el ejemplo.

Morocco Standard Time Adjustment rules
   Adjustment rule #1
      Start Date: Tuesday, January 01, 2008
      End Date: Wednesday, December 31, 2008
      Time Change: 1:00 hours
      Annual Start: The Last Saturday of May at 11:59 PM
      Annual End: The Last Sunday of August at 11:59 PM
   Adjustment rule #2
      Start Date: Thursday, January 01, 2009
      End Date: Thursday, December 31, 2009
      Time Change: 1:00 hours
      Annual Start: The Last Sunday of May at 11:59 PM
      Annual End: The Third Thursday of August at 11:59 PM

Coordinated Universal Time has no adjustment rules

GMT Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 1:00 AM
   Annual End: The Last Sunday of October at 2:00 AM

Greenwich Standard Time has no adjustment rules

W. Europe Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

Central Europe Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

Romance Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

Central European Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

W. Central Africa Standard Time has no adjustment rules

.NET Framework
Disponible desde 3.5

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: