как корректно высчитывать время в python3?
Возможно, конечно, я слепой и не нашёл это в документации и на форумах, но как высчитывать время? Типо мне нужно чтобы выводилось нынешняя дата (date-month-year) и дата, которая была 7 дней назад Мой прототип был примерно таким:
import datetime
now = datetime.datetime.now()
dateNow = str(now.day) + '-' + str(now.month) + '-' + str(now.year)
dateAgo = str(now.day - 7) + '-' + str(now.month) + '-' + str(now.year)
print(dateNow)
print(dateAgo)
Но он не увенчался успехом, т.к. в начале месяца дата просто будет становиться отрицательным числом .-.
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
from dateutil.relativedelta import relativedelta
from datetime import datetime, timedelta
n = datetime.now()
print(n, '\n')
# Если нам нуж единицы времени такие как неделя и меньше то вполне достаточно timedelta
print(n - timedelta(weeks=5, hours=3, minutes=25, seconds=12))
# Если нам нужны такие единицы как месяц и год, то нам понадобится билиотека python-dateutil
# pip install python-dateutil (Если не установлена)
print(n - relativedelta(years=2, months=3, days=11, hours=2, minutes=10, seconds=51))
#2021-12-18 05:50:16.126490
#2021-11-13 02:25:04.126490
#2019-09-07 03:39:25.126490
В relevantdelta так-же можно задасать недели