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

Метод ConvertTime

Метод ConvertTime статический. Меняются часы на циферблате и Offset, не момент в UTC. Для DateTime без смещения - ConvertTimeToUtc и ConvertTimeFromUtc.

Синтаксис

DateTimeOffset shifted = TimeZoneInfo.ConvertTime(dateTimeOffset, destinationTimeZone);

Пример

Давайте перевести 03:04:05 со смещением +3 в Utc:

using System; class Program { static void Main() { var dto = new DateTimeOffset( 2020, 1, 2, 3, 4, 5, TimeSpan.FromHours(3)); DateTimeOffset res = TimeZoneInfo.ConvertTime( dto, TimeZoneInfo.Utc); Console.WriteLine(res.Hour); Console.WriteLine(res.Offset == TimeSpan.Zero); } }

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

0 True

Пример

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

using System; class Program { static void Main() { var dto = new DateTimeOffset( 2020, 1, 2, 3, 4, 5, TimeSpan.FromHours(3)); DateTimeOffset res = TimeZoneInfo.ConvertTime( dto, TimeZoneInfo.Utc); Console.WriteLine(res.Minute); } }

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

4

Пример

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

using System; class Program { static void Main() { var dto = new DateTimeOffset( 2020, 1, 2, 3, 4, 5, TimeSpan.FromHours(3)); TimeZoneInfo.ConvertTime(dto, TimeZoneInfo.Utc); Console.WriteLine(dto.Hour); } }

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

3

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

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