DateTimeOffset.ToLocalTime Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte o objeto DateTimeOffset atual em um objeto DateTimeOffset que representa a hora local.
public:
DateTimeOffset ToLocalTime();
public DateTimeOffset ToLocalTime ();
member this.ToLocalTime : unit -> DateTimeOffset
Public Function ToLocalTime () As DateTimeOffset
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.
// 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.
// Local time changes on 3/11/2007 at 2:00 AM
let originalTime = DateTimeOffset(2007, 3, 11, 3, 0, 0, TimeSpan(-6, 0, 0))
let localTime = originalTime.ToLocalTime()
printfn $"Converted {originalTime} to {localTime}."
let originalTime = DateTimeOffset(2007, 3, 11, 4, 0, 0, TimeSpan(-6, 0, 0))
let localTime = originalTime.ToLocalTime()
printfn $"Converted {originalTime} to {localTime}."
// Define a summer UTC time
let originalTime = DateTimeOffset(2007, 6, 15, 8, 0, 0, TimeSpan.Zero)
let localTime = originalTime.ToLocalTime()
printfn $"Converted {originalTime} to {localTime}."
// Define a winter time
let originalTime = DateTimeOffset(2007, 11, 30, 14, 0, 0, TimeSpan(3, 0, 0))
let localTime = originalTime.ToLocalTime()
printfn $"Converted {originalTime} to {localTime}."
// 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.
' Local time changes on 3/11/2007 at 2:00 AM
Dim originalTime, localTime As DateTimeOffset
originalTime = New DateTimeOffset(#03/11/2007 3:00AM#, _
New TimeSpan(-6, 0, 0))
localTime = originalTime.ToLocalTime()
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), _
localTime.ToString())
originalTime = New DateTimeOffset(#03/11/2007 4:00AM#, _
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(#6/15/2007 8:00AM#, _
TimeSpan.Zero)
localTime = originalTime.ToLocalTime()
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), _
localTime.ToString())
' Define a winter time
originalTime = New DateTimeOffset(#11/30/2007 2:00PM#, _
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.