Свойство DateTimeOffset.Offset
Свойство Offset - это TimeSpan,
не имя пояса. У UTC-значений оно
нулевое. Сменить смещение, сохранив
момент, можно через
ToOffset.
Синтаксис
TimeSpan offset = dateTimeOffset.Offset;
Пример
Давайте прочитаем смещение +3 часа:
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
Пример
Давайте выведем TimeSpan.ToString
для трёх часов:
using System;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 3, 4, 5, TimeSpan.FromHours(3));
string res = dto.Offset.ToString();
Console.WriteLine(res);
}
}
Результат выполнения кода:
"03:00:00"
Пример
Давайте проверим нулевое смещение у UTC-момента:
using System;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 0, 0, 0, TimeSpan.Zero);
bool res = dto.Offset == TimeSpan.Zero;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
ToOffset,
новое смещение -
UtcDateTime,
часы в UTC -
Parse,
смещение из строки -
DateTime.Parse,
без смещения в строке