Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método TimeZoneInfo.ConvertTime (DateTimeOffset, TimeZoneInfo)

Converte uma hora na hora em um determinado fuso horário.

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

public static DateTimeOffset ConvertTime(
	DateTimeOffset dateTimeOffset,
	TimeZoneInfo destinationTimeZone
)

Parâmetros

dateTimeOffset
Tipo: System.DateTimeOffset
A data e hora a ser convertida.
destinationTimeZone
Tipo: System.TimeZoneInfo
O fuso horário no qual dateTime deve ser convertido.

Valor de retorno

Tipo: System.DateTimeOffset
A data e hora no fuso horário de destino.

ExceçãoCondição
ArgumentNullException

O valor do parâmetro de destinationTimeZone é null.

Ao executar a conversão, o método de ConvertTime(DateTimeOffset, TimeZoneInfo) aplica todas as regras de ajuste aplicado no fuso horário de destinationTimeZone .

Essa sobrecarga difere das sobrecargas do método de ConvertTime aceitando um valor de DateTimeOffset como o primeiro parâmetro. Identifica a data e a hora como um deslocamento de Tempo Universal Coordenado (UTC) em vez de como data e hora em um fuso horário específico. No resultado, o parâmetro de dateTimeOffset não pode representar uma hora ambíguas ou uma hora inválidos.

Ao converter o valor de dateTimeOffset a hora no fuso horário de destino, esse método leva em conta todas as regras de ajuste aplicado no fuso horário de destino.

Caso a conversão de dateTimeOffset resulte em uma data e um valor de hora anterior a DateTimeOffset.MinValue ou posterior a DateTimeOffset.MaxValue, este método retorna DateTimeOffset.MinValue ou DateTimeOffset.MaxValue, respectivamente.

Observações para chamadores

Em sistemas de Windows XP , esse método aplica-se apenas à regra de ajuste atual à conversão de fuso horário se dateTimeOffset será tratado como hora locais ou se destinationTimeZone é TimeZoneInfo.Local. Como resultado, o método não pode converter com exatidão horas para períodos antes da regra de ajuste atual entrar em vigor. Para obter mais informações, consulte que as notas da Seção Chamadores na propriedade Local.

O exemplo a seguir converte uma matriz de valores de DateTimeOffset às vezes no fuso horário do leste dos EUA. U. e Canadá. Mostra que o método de ConvertTime leva em conta ajustes de fuso horário, como um ajuste de fuso horário ocorre em fusos horários de origem e de destino às 2:00. o 7 de novembro de 2010.


using System;

public class Example
{
   public static void Main()
   {
      // Define times to be converted.
      DateTime time1 = new DateTime(2010, 1, 1, 12, 1, 0);
      DateTime time2 = new DateTime(2010, 11, 6, 23, 30, 0);
      DateTimeOffset[] times = { new DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)),
                                 new DateTimeOffset(time1, TimeSpan.Zero),
                                 new DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)),
                                 new DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) };

      // Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
      TimeZoneInfo est; 
      try {
         est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      }
      catch (TimeZoneNotFoundException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }
      catch (InvalidTimeZoneException) {
         Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
         return;
      }   

      // Display the current time zone name.
      Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);

      // Convert each time in the array.
      foreach (DateTimeOffset timeToConvert in times)
      {
         DateTimeOffset targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
         Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime);
      }                        
   }
}
// The example displays the following output:
//    Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//    
//    Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
//    Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
//    Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
//    Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.


.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

.NET para aplicativos do Windows Phone

Com suporte em: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft