Ответ
Для выполнения арифметических операций с датой и временем в Python, в частности для добавления интервалов, используются специальные объекты, представляющие разницу во времени.
-
datetime.timedelta(стандартная библиотека) Это основной и наиболее распространенный способ. Объектtimedeltaпредставляет разницу между двумя датами или моментами времени.Причина использования: Входит в стандартную библиотеку, не требует установки зависимостей, идеально подходит для большинства задач.
from datetime import datetime, timedelta # Текущее время now = datetime.now() print(f"Сейчас: {now}") # Добавляем 5 часов и 30 минут future_time = now + timedelta(hours=5, minutes=30) print(f"Через 5.5 часов: {future_time}") # Отнимаем 2 дня past_time = now - timedelta(days=2) print(f"2 дня назад: {past_time}") -
dateutil.relativedelta(сторонняя библиотека) Более мощный инструмент из библиотекиpython-dateutil. Позволяет работать со сложными относительными интервалами, такими как месяцы и годы, корректно обрабатывая разное количество дней в них.Причина использования: Необходимость оперировать месяцами или годами, что
timedeltaделает не так гибко.from datetime import date from dateutil.relativedelta import relativedelta today = date.today() # Через 3 месяца future_date = today + relativedelta(months=+3) print(f"Через 3 месяца: {future_date}") -
pandas.Timedelta(для анализа данных) Если вы работаете в экосистемеpandas, использование его собственных типов данных для времени является естественным и эффективным решением.import pandas as pd now = pd.Timestamp.now() future_time = now + pd.Timedelta(hours=3, minutes=15) print(f"Pandas Timedelta: {future_time}")
Итог: Для большинства стандартных задач используйте datetime.timedelta. Если нужна работа с месяцами/годами, ваш выбор — dateutil.relativedelta.