TL;DR. dtt — Rust-библиотека для надёжной работы с датой и временем в сценариях, чувствительных к финансовым и регуляторным деталям: расчёт рабочих дней, временные зоны, ISO 8601-форматирование.
Ключевые выводы
- Идея. Финансовые системы часто страдают от тонких ошибок при работе с датами; типобезопасная библиотека снимает целый класс проблем.
- Подход. API спроектирован вокруг типичных финансовых сценариев (расчётные дни, конец месяца, временные зоны бирж).
- Влияние. Полезен в платёжных, торговых и отчётных системах.
Контекст #
Дата — недооценённая сложность #
Работа с датами и временем в финансовых системах кажется тривиальной, пока не сталкиваешься с переходами на летнее время, високосными секундами, разными определениями рабочего дня в разных юрисдикциях и форматированием по ISO 8601 для регуляторной отчётности.
Идея #
Что делает dtt #
dtt предоставляет:
- Безопасные типы для дат, времени и временных интервалов
- Поддержку временных зон с учётом исторических изменений
- Расчёт рабочих дней с учётом календарей разных юрисдикций
- Форматирование/парсинг по ISO 8601, RFC 3339 и распространённым финансовым форматам
- Утилиты для типичных сценариев: «конец месяца», «следующий рабочий день», «период расчёта»
Подход #
Типобезопасность как защита #
API использует типы Rust, чтобы исключить распространённые ошибки: смешение дат и datetime, отсутствие явной временной зоны, неверная арифметика дат. Многие классы ошибок становятся ошибками компиляции, а не рантайма.
Открытый код #
Apache-2.0 #
Библиотека опубликована под лицензией Apache-2.0 на GitHub.
Заключение #
dtt — попытка дать Rust-разработчикам в финансовом домене ту же уверенность, которую они получают от системы типов в других областях.
Последняя проверка .