Прочитать на английском

Поделиться через


DateTimeOffset.ToLocalTime Метод

Определение

Преобразует текущий объект DateTimeOffset в объект DateTimeOffset, представляющий местное время.

C#
public DateTimeOffset ToLocalTime();

Возвращаемое значение

Объект, который представляет дату и время текущего объекта DateTimeOffset, преобразованные в местное время.

Примеры

В следующем примере метод используется ToLocalTime для преобразования DateTimeOffset значения в местное время в стандартном часовом поясе Pacific. Он также иллюстрирует поддержку методом правил корректировки местного часового пояса.

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.

Комментарии

При преобразовании в местное время метод сначала преобразует дату и время текущего DateTimeOffset объекта в формате UTC, вычитая смещение из времени. Затем он преобразует дату и время в формате UTC в местное время путем добавления смещения местного часового пояса. При этом учитываются все правила корректировки для местного часового пояса.

Значение текущего DateTimeOffset объекта и значение объекта, DateTimeOffset возвращаемого вызовом метода, представляют одну и ту же точку во времени. То есть, если в метод передаются DateTimeOffset.Equals(DateTimeOffset, DateTimeOffset) оба метода, метод возвращает true.

Если преобразование приводит к тому, что время выходит за пределы диапазона DateTimeOffset типа, ToLocalTime метод возвращает объект с датой DateTimeOffset и временем MaxValueMinValue или, а для смещения задано смещение локального часового пояса.

Применяется к

Продукт Версии
.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

См. также раздел