Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
915 of 1492 menu
◀ ▶

Метод ConvertTimeFromUtc

Метод ConvertTimeFromUtc статический. Результат для пользовательского пояса имеет DateTimeKind.Unspecified, не Local. Обратный путь - ConvertTimeToUtc.

Синтаксис

DateTime local = TimeZoneInfo.ConvertTimeFromUtc(dateTime, destinationTimeZone);

Пример

Давайте перевести полночь UTC в пояс +3:

using System; class Program { static void Main() { var zone = TimeZoneInfo.CreateCustomTimeZone( "abcde", TimeSpan.FromHours(3), "abcde", "abcde"); DateTime res = TimeZoneInfo.ConvertTimeFromUtc( new DateTime(2020, 1, 2, 0, 0, 0, DateTimeKind.Utc), zone); Console.WriteLine(res.Hour); } }

Результат выполнения кода:

3

Пример

Давайте проверить Kind результата:

using System; class Program { static void Main() { var zone = TimeZoneInfo.CreateCustomTimeZone( "abcde", TimeSpan.FromHours(3), "abcde", "abcde"); DateTime res = TimeZoneInfo.ConvertTimeFromUtc( new DateTime(2020, 1, 2, 0, 0, 0, DateTimeKind.Utc), zone); Console.WriteLine(res.Kind == DateTimeKind.Unspecified); } }

Результат выполнения кода:

True

Пример

Давайте убедиться, что исходный UTC не меняется:

using System; class Program { static void Main() { var zone = TimeZoneInfo.CreateCustomTimeZone( "abcde", TimeSpan.FromHours(3), "abcde", "abcde"); var utc = new DateTime(2020, 1, 2, 0, 0, 0, DateTimeKind.Utc); TimeZoneInfo.ConvertTimeFromUtc(utc, zone); Console.WriteLine(utc.Hour); } }

Результат выполнения кода:

0

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить