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/