Ler em inglês

Compartilhar via


TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Método

Definição

Converte um UTC (Tempo Universal Coordenado) no horário em um fuso horário especificado.

public static DateTime ConvertTimeFromUtc(DateTime dateTime, TimeZoneInfo destinationTimeZone);

Parâmetros

dateTime
DateTime

UTC (Tempo Universal Coordenado).

destinationTimeZone
TimeZoneInfo

O fuso horário no qual dateTime deve ser convertido.

Retornos

A data e hora no fuso horário de destino. A propriedade Kind será Utc se destinationTimeZone for Utc; caso contrário, a propriedade Kind será Unspecified.

Exceções

A propriedade Kind de dateTime é Local.

destinationTimeZone é null.

Exemplos

O exemplo a seguir converte UTC (Tempo Universal Coordenado) em Hora Central.

DateTime timeUtc = DateTime.UtcNow;
try
{
   TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
   DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);
   Console.WriteLine("The date and time are {0} {1}.", 
                     cstTime, 
                     cstZone.IsDaylightSavingTime(cstTime) ?
                             cstZone.DaylightName : cstZone.StandardName);
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Central Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Central Standard Time zone has been corrupted.");
}

Comentários

Ao executar a conversão, o método aplica todas as ConvertTimeFromUtc regras de ajuste em vigor no destinationTimeZone fuso horário.

O comportamento preciso desse método depende do valor da Kind propriedade do dateTime parâmetro , como mostra a tabela a seguir.

Propriedade DateTime.Kind Conversão
DateTimeKind.Local Lança um ArgumentException.
DateTimeKind.Unspecified ou DateTimeKind.Utc Converte de UTC (Tempo Universal Coordenado).

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

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Confira também