TimezoneTranslator
Преобразование UTC в локальное время с поддержкой DST для произвольных часовых поясов
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:3fcd35221e3544944dbf8720be6cc774a0d2818c7eb77e850fd047dcc42c98e9TimezoneTranslator-1.0.1-3fcd3522.zipОписание
Когда нужно работать с местным временем на Arduino, а часовой пояс и переход на летнее время усложняют все расчёты, эта библиотека справляется за несколько сравнений переменных. Конвертирует UTC-метки в локальное время и обратно с поддержкой произвольных правил DST для обоих полушарий — хоть США, хоть Австралия, хоть что угодно. Результаты точны до миллисекунд, используют 64-битные целые числа, но входные 32-битные временные метки автоматически расширяются через эвристику с опорой на 2020 год. На каждом экземпляре класса работает собственный кэш границ сезонов, поэтому повторные преобразования внутри одного периода работают почти мгновенно. Код написан максимально аккуратно для 8-битных AVR, хотя запускается и на ESP8266 с ESP32. Никакой динамической памяти, никаких зависимостей.