Ler em inglês

Compartilhar via


DateTimeOffset.ToLocalTime Método

Definição

Converte o objeto DateTimeOffset atual em um objeto DateTimeOffset que representa a hora local.

C#
public DateTimeOffset ToLocalTime();

Retornos

Um objeto que representa a data e a hora do objeto DateTimeOffset atual convertido em hora local.

Exemplos

O exemplo a seguir usa o ToLocalTime método para converter um DateTimeOffset valor em hora local no fuso horário padrão do Pacífico. Ele também ilustra o suporte do método para as regras de ajuste do fuso horário local.

C#
// Local time changes on 3/11/2007 at 2:00 AM
DateTimeOffset originalTime, localTime;

originalTime = new DateTimeOffset(2007, 3, 11, 3, 0, 0,
                                  new TimeSpan(-6, 0, 0));
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(),
                                           localTime.ToString());

originalTime = new DateTimeOffset(2007, 3, 11, 4, 0, 0,
                                  new TimeSpan(-6, 0, 0));
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(),
                                           localTime.ToString());

// Define a summer UTC time
originalTime = new DateTimeOffset(2007, 6, 15, 8, 0, 0,
                                  TimeSpan.Zero);
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(),
                                           localTime.ToString());

// Define a winter time
originalTime = new DateTimeOffset(2007, 11, 30, 14, 0, 0,
                                  new TimeSpan(3, 0, 0));
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(),
                                           localTime.ToString());
// The example produces the following output:
//    Converted 3/11/2007 3:00:00 AM -06:00 to 3/11/2007 1:00:00 AM -08:00.
//    Converted 3/11/2007 4:00:00 AM -06:00 to 3/11/2007 3:00:00 AM -07:00.
//    Converted 6/15/2007 8:00:00 AM +00:00 to 6/15/2007 1:00:00 AM -07:00.
//    Converted 11/30/2007 2:00:00 PM +03:00 to 11/30/2007 3:00:00 AM -08:00.

Comentários

Ao executar a conversão em hora local, o método primeiro converte a data e a hora do objeto atual DateTimeOffset em UTC (Tempo Universal Coordenado) subtraindo o deslocamento da hora. Em seguida, ele converte a data e a hora UTC em hora local adicionando o deslocamento de fuso horário local. Ao fazer isso, ele leva em conta todas as regras de ajuste para o fuso horário local.

O valor do objeto atual DateTimeOffset e o valor do DateTimeOffset objeto retornado pela chamada de método representam o mesmo ponto no tempo. Ou seja, se ambos forem passados para o DateTimeOffset.Equals(DateTimeOffset, DateTimeOffset) método , o método retornará true.

Se a conversão causar uma hora fora do intervalo do DateTimeOffset tipo, o ToLocalTime método retornará um DateTimeOffset objeto que tem a data e a hora definidas como MaxValue ou MinValue e o deslocamento definido como o deslocamento de fuso horário local.

Aplica-se a

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 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 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Confira também