Свойство timeZoneOffset
Свойство timeZoneOffset класса DateTime возвращает
смещение часового пояса относительно UTC в виде объекта
Duration. Свойство доступно только для чтения и
не принимает параметров. Если объект DateTime создан
в UTC, смещение будет равно нулю. Для локального времени
свойство возвращает разницу между местным временем и UTC.
Синтаксис
dateTime.timeZoneOffset
Пример
Давайте создадим объект DateTime в UTC и получим
его смещение часового пояса:
void main()
{
DateTime date = DateTime.utc(2025, 1, 1);
Duration offset = date.timeZoneOffset;
print(offset);
}
Результат выполнения кода:
0:00:00.000000
Пример
Давайте создадим локальный объект DateTime и
получим его смещение часового пояса:
void main()
{
DateTime date = DateTime(2025, 1, 1);
Duration offset = date.timeZoneOffset;
print(offset);
}
Результат выполнения кода:
3:00:00.000000
Пример
Давайте получим смещение в часах, используя свойство
inHours объекта Duration:
void main()
{
DateTime date = DateTime(2025, 1, 1);
Duration offset = date.timeZoneOffset;
print(offset.inHours);
}
Результат выполнения кода:
3
Пример
Давайте преобразуем локальное время в UTC и сравним смещения часовых поясов:
void main()
{
DateTime local = DateTime(2025, 1, 1);
DateTime utc = local.toUtc();
print(local.timeZoneOffset);
print(utc.timeZoneOffset);
}
Результат выполнения кода:
3:00:00.000000
0:00:00.000000
Смотрите также
-
класс
DateTime,
который представляет дату и время -
свойство
timeZoneName,
которое возвращает название часового пояса -
свойство
isUtc,
которое проверяет, находится ли время в UTC -
метод
toUtc,
который преобразует время в UTC