DateTimeOffset.ToLocalTime Metoda

Definicja

Konwertuje bieżący DateTimeOffset obiekt na DateTimeOffset obiekt reprezentujący czas lokalny.

C#
public DateTimeOffset ToLocalTime();

Zwraca

Obiekt reprezentujący datę i godzinę bieżącego DateTimeOffset obiektu przekonwertowanego na czas lokalny.

Przykłady

W poniższym przykładzie użyto ToLocalTime metody , aby przekonwertować wartość na czas lokalny w strefie czasowej Pacyfik DateTimeOffset (czas standardowy). Ilustruje również obsługę metody dla reguł korekty lokalnej strefy czasowej.

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.

Uwagi

Podczas konwersji na czas lokalny metoda najpierw konwertuje datę i godzinę bieżącego DateTimeOffset obiektu na uniwersalny czas koordynowany (UTC), odejmując przesunięcie od czasu. Następnie konwertuje datę i godzinę UTC na godzinę lokalną, dodając przesunięcie lokalnej strefy czasowej. W tym celu uwzględnia wszelkie reguły korekty dla lokalnej strefy czasowej.

Zarówno wartość bieżącego DateTimeOffset obiektu, jak i wartość DateTimeOffset obiektu zwróconego przez wywołanie metody reprezentują ten sam punkt w czasie. Oznacza to, że jeśli obie są przekazywane do DateTimeOffset.Equals(DateTimeOffset, DateTimeOffset) metody, metoda zwróci truewartość .

Jeśli konwersja powoduje przekroczenie zakresu DateTimeOffset typu ToLocalTime , metoda zwraca DateTimeOffset obiekt, który ma datę i godzinę ustawioną na MaxValue wartość lub MinValue i przesunięcie ustawione na przesunięcie lokalnej strefy czasowej.

Dotyczy

Produkt Wersje
.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

Zobacz też