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

Метод ConvertTimeToUtc

Метод ConvertTimeToUtc статический. Смысл DateTimeKind важен: Utc уже в UTC, а Unspecified без пояса трактуют по-разному - часы такого вызова здесь не выводят. Для стабильных цифр берут свой пояс CreateCustomTimeZone со смещением +3.

Синтаксис

DateTime utc = TimeZoneInfo.ConvertTimeToUtc(dateTime, sourceTimeZone); DateTime utc2 = TimeZoneInfo.ConvertTimeToUtc(dateTime);

Пример

Давайте перевести местные 03:04:05 из пояса +3:

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

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

0 True

Пример

Давайте передать дату с DateTimeKind.Utc без пояса:

using System; class Program { static void Main() { var dt = new DateTime(2020, 1, 2, 3, 4, 5, DateTimeKind.Utc); DateTime res = TimeZoneInfo.ConvertTimeToUtc(dt); Console.WriteLine(res.Hour); } }

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

3

Пример

Давайте проверить секунду у первого перевода:

using System; class Program { static void Main() { var zone = TimeZoneInfo.CreateCustomTimeZone( "abcde", TimeSpan.FromHours(3), "abcde", "abcde"); DateTime res = TimeZoneInfo.ConvertTimeToUtc( new DateTime(2020, 1, 2, 3, 4, 5), zone); Console.WriteLine(res.Second); } }

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

5

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

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