Работа со стандартным модулем
datetime в Python часто напоминает прогулку по минному полю: наивные объекты, путаница с таймзонами и неудобная арифметика. Pendulum — это библиотека, которая делает работу со временем интуитивной. Это «Drop-in replacement» для стандартного
datetime: она наследуется от него, поэтому в 99% случаев вы просто меняете импорт и всё продолжает работать.1. Забудьте про «наивные» объекты. В Pendulum каждый экземпляр по умолчанию знает свою таймзону (UTC по умолчанию). Смена пояса делается одним методом:
now_in_paris = pendulum.now('Europe/Paris')
in_utc = now_in_paris.in_timezone('UTC')
2. Хотите вывести «2 минуты назад» или «через неделю»? Метод
diff_for_humans() сделает это за вас, причём с поддержкой локализации.
past = pendulum.now().subtract(minutes=2)
print(past.diff_for_humans()) # '2 minutes ago'
3. Библиотека сама обрабатывает переходы на летнее время и «несуществующие» часы.
# 2:30 в Париже 31 марта 2013 года не существовало из-за перехода
pendulum.datetime(2013, 3, 31, 2, 30, tz='Europe/Paris')
# Результат автоматически нормализуется в 03:30
4. Вместо создания громоздких объектов
timedelta, используйте простые методы add() и subtract().
tomorrow = pendulum.now().add(days=1)
last_week = pendulum.now().subtract(weeks=1)
Установка:
pip install pendulum📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
