Python:
Обчислення дати у майбутньому або минулому
Як це робити:
from datetime import datetime, timedelta
# Сьогоднішня дата
today = datetime.now()
# Додати 10 днів
future_date = today + timedelta(days=10)
print(f"Дата у майбутньому: {future_date.strftime('%Y-%m-%d')}")
# Відняти 5 днів
past_date = today - timedelta(days=5)
print(f"Дата у минулому: {past_date.strftime('%Y-%m-%d')}")Вивід:
Дата у майбутньому: 2023-04-17
Дата у минулому: 2023-04-02Поглиблено:
В минулому програмісти використовували модулі C, різноманітні алгоритми та таблиці для обчислення дат. Зараз є стандартний модуль datetime, який значно спрощує завдання.
Існують альтернативи datetime, наприклад, бібліотеки dateutil, arrow та pendulum. Вони надають більший функціонал для работы з часовими зонами, розбором рядків з датами, і відносними обчисленнями (наприклад, “наступний понеділок”).
Обчислення в майбутнє та минуле працюють шляхом додавання або віднімання timedelta об’єктів до datetime об’єктів. timedelta може представляти дні, секунди, мікросекунди та навіть тижні.
Дивись також:
- Документація
datetime: https://docs.python.org/3/library/datetime.html dateutilбібліотека: https://dateutil.readthedocs.io/en/stable/arrowбібліотека: https://arrow.readthedocs.io/en/latest/pendulumбібліотека: https://pendulum.eustace.io/