Я написал функцию python, которая дает мне дату и время в прошлом со ссылкой на текущую дату.
def get_past_date(no_of_days, date_only=False):
"""Returns timezone aware Datetime object in past based on no_of_days provided"""
if date_only:
return timezone.datetime.today().date() - timezone.timedelta(no_of_days)
past = timezone.datetime.today() - timezone.timedelta(no_of_days)
return timezone.make_aware(past, timezone=pytz.timezone(settings.TIME_ZONE))
Проблема:
timezone.datetime.today().date() - timezone.timedelta(no_of_days)
и
timezone.datetime.today() - timezone.timedelta(no_of_days)
вернуть другую дату для того же ввода (no_of_days)
timezone.datetime.today()
возвращает дату, которая на 1 день раньше, чем timezone.datetime.today().date()
timezone.datetime.today() - timezone.timedelta(6 * 365 / 12)
= datetime.datetime(2018, 1, 1, 21, 12, 43, 741750)
timezone.datetime.today().date() - timezone.timedelta(6 * 365 / 12)
= datetime.date(2018, 1, 2)
Я что-то здесь упускаю?