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

DateTimeOffset

DateTimeOffset задаёт дату, время и TimeSpan смещения. Один и тот же момент в UTC может выглядеть как разные часы на циферблате. Свойство DateTime отдаёт часы без перевода, UtcDateTime - в UTC. Разбор строк - Parse.

Синтаксис

var dto = new DateTimeOffset( 2020, 1, 2, 3, 4, 5, TimeSpan.FromHours(3));

Пример

Давайте сравним два значения с разным смещением, но одним моментом UTC:

using System; class Program { static void Main() { var left = new DateTimeOffset( 2020, 1, 2, 3, 0, 0, TimeSpan.FromHours(3)); var right = new DateTimeOffset( 2020, 1, 2, 0, 0, 0, TimeSpan.Zero); bool res = left == right; Console.WriteLine(res); } }

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

True

Пример

Давайте прочитаем DateTime без смены часов:

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

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

3 True

Пример

Давайте выведем смещение в часах:

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

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

3

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

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