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

Перевод между поясами в C#

Сервер часто хранит время в UTC, а интерфейс показывает локальные часы. Метод TimeZoneInfo.ConvertTimeFromUtc применяет правила летнего времени целевого пояса.

Метод ждёт момент в UTC: у DateTime.UtcNow свойство Kind уже равно Utc. Если передать локальное время, вызов закончится ошибкой. Значение с Kind.Unspecified метод тоже считает UTC: у такой отметки не сказано, местное это время или всемирное.

Переведём текущий момент из UTC в локальный пояс процесса:

TimeZoneInfo local = TimeZoneInfo.Local; DateTime utcNow = DateTime.UtcNow; DateTime localNow = TimeZoneInfo.ConvertTimeFromUtc(utcNow, local); Console.WriteLine(localNow.Kind); // выведет Local

Переведите фиксированный UTC-момент 2024-07-01 12:00:00 в локальный пояс и выведите год.

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