Знаете готовый package расширяющий DateTime инфой о сдвиге часового пояса?

Да, в Flutter есть готовый пакет, который расширяет класс DateTime, предоставляя информацию о сдвиге часового пояса. Этот пакет называется timezone. Он предоставляет возможность работать с часовыми поясами, конвертировать временные метки из одной временной зоны в другую и многое другое.

Прежде чем начать использовать timezone, вам необходимо добавить его в зависимости вашего проекта. Для этого добавьте строку timezone: ^X.X.X в секцию dependencies файла pubspec.yaml, где X.X.X - актуальная версия пакета.

После того как вы добавили пакет timezone в ваш проект, вы можете начать использовать его для работы с временными зонами и сдвигами часового пояса в классе DateTime.

Давайте рассмотрим некоторые возможности, которые предоставляет пакет timezone:

1. Получение текущего сдвига часового пояса

import 'package:timezone/timezone.dart';

void main() {
  var now = DateTime.now();
  var location = getLocation('Europe/Paris');
  var timeZone = location.timeZone(now);
  print('Сдвиг часового пояса в данной временной зоне: ${timeZone.offset}');
}

2. Конвертация временных меток из одной временной зоны в другую

import 'package:timezone/timezone.dart';

void main() {
  var now = DateTime.now();
  var paris = getLocation('Europe/Paris');
  var newYork = getLocation('America/New_York');
  
  var parisTime = paris.currentTime();
  var newYorkTime = parisTime.toTimeZone(newYork);
  
  print('Текущее время в Париже: ${parisTime}');
  print('Текущее время в Нью-Йорке: ${newYorkTime}');
}

В приведенных примерах мы использовали функцию getLocation(), чтобы получить информацию о расположении и временной зоне. Затем мы использовали различные методы пакета timezone для получения информации о сдвиге часового пояса и конвертации временных меток в нужные временные зоны.

Примеры выше являются лишь небольшими демонстрациями функциональности пакета timezone. Рекомендуется ознакомиться с документацией и официальными примерами пакета, чтобы полностью изучить его возможности и правильно использовать его в своем проекте.