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

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


TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Метод

Определение

Преобразует время в формате UTC во время в указанном часовом поясе.

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

Параметры

dateTime
DateTime

Время в формате UTC.

destinationTimeZone
TimeZoneInfo

Часовой пояс, в который требуется преобразовать dateTime.

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

Дата и время в часовом поясе назначения. Его свойство Kind равно Utc, если значение destinationTimeZone равно Utc; в противном случае — значение свойства Kind равно Unspecified.

Исключения

Свойство Kind параметра dateTime равно Local.

destinationTimeZone имеет значение null.

Примеры

В следующем примере показано, как преобразовать время в формате UTC в центральное время.

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.");
}

Комментарии

При выполнении преобразования метод применяет все правила корректировки ConvertTimeFromUtc , которые действуют в часовом поясе destinationTimeZone .

Точное поведение этого метода зависит от значения Kind свойства dateTime параметра, как показано в следующей таблице.

Свойство DateTime.Kind Преобразование
DateTimeKind.Local Создает ArgumentExceptionисключение .
DateTimeKind.Unspecified либо DateTimeKind.Utc Преобразуется из времени в формате UTC.

Если преобразование приводит к значению dateTime даты и времени, которое раньше DateTime.MinValue или позже DateTime.MaxValue, этот метод возвращает DateTime.MinValue значение или DateTime.MaxValueсоответственно.

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

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

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