Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe TimeZoneInfo.AdjustmentRule

 

Publicado: agosto de 2016

Fornece informações sobre um ajuste de fuso horário, como a transição do e para o horário de verão.

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

System.Object
  System.TimeZoneInfo.AdjustmentRule

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

NomeDescrição
System_CAPS_pubpropertyDateEnd

Obtém a data quando a regra de ajuste não estar em vigor.

System_CAPS_pubpropertyDateStart

Obtém a data quando a regra de ajuste entra em vigor.

System_CAPS_pubpropertyDaylightDelta

Obtém o período de tempo necessário para formar o horário de verão do fuso horário. Esse período é adicionado ao deslocamento do fuso horário do UTC (Tempo Universal Coordenado).

System_CAPS_pubpropertyDaylightTransitionEnd

Obtém informações sobre a transição anual do horário de verão volta para a hora padrão.

System_CAPS_pubpropertyDaylightTransitionStart

Obtém informações sobre a transição anual do horário padrão para o horário de verão.

NomeDescrição
System_CAPS_pubmethodSystem_CAPS_staticCreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo.TransitionTime, TimeZoneInfo.TransitionTime)

Cria uma nova regra de ajuste para um determinado fuso horário.

System_CAPS_pubmethodEquals(TimeZoneInfo.AdjustmentRule)

Determina se o atual TimeZoneInfo.AdjustmentRule objeto é igual ao segundo TimeZoneInfo.AdjustmentRule objeto.

System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como uma função de hash para algoritmos de hash e estruturas de dados como tabelas de hash.(Substitui o Object.GetHashCode().)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

NomeDescrição
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDeserializationCallback.OnDeserialization(Object)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. É executado quando a desserialização de um TimeZoneInfo.AdjustmentRule objeto for concluído.

System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Preenche uma SerializationInfo objeto com os dados necessários para serializar esse objeto.

A TimeZoneInfo.AdjustmentRule classe define o efetivo datas de início e término de uma alteração de tempo específico para e a partir do horário de verão, respectivamente, bem como seu delta (o valor exato pelo qual o ajuste faz com que o horário do padrão do fuso horário alterar). Além disso, duas propriedades retornam TimeZoneInfo.TransitionTime objetos que definem quando ocorre a cada transição para e do horário padrão.

System_CAPS_noteObservação

Uma instância do TimeZoneInfo.AdjustmentRule classe é imutável. Quando um objeto tiver sido criado, seus valores não podem ser modificados.

Para criar um TimeZoneInfo.AdjustmentRule de objeto, chame o static (Shared no Visual Basic) TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule método. Em seguida, você pode fornecer uma matriz de TimeZoneInfo.AdjustmentRule objetos para duas das sobrecargas do TimeZoneInfo.CreateCustomTimeZone método. Para recuperar as regras de ajuste de um determinado fuso horário, chame seu TimeZoneInfo.GetAdjustmentRules método, que retorna uma matriz de TimeZoneInfo.AdjustmentRule objetos.

O exemplo a seguir recupera todos os fusos horários definidos no sistema local e exibe informações completas sobre as regras 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();
   } 
}

A seguir está uma pequena parte da saída que é gerada pelo exemplo. A saída exata irão variar dependendo do sistema operacional e a data em que o exemplo for executado.

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
Disponível desde 3.5

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: