Добавление дат с помощью Python - PullRequest
0 голосов
/ 24 марта 2019

Я пытался вычислить простую дату, добавив определенное количество дней к дате и времени.

import datetime
from dateutil.relativedelta import relativedelta
initial = datetime.date(2019, 3, 5)
delta = relativedelta(day=60)
print(f"Initial date: {initial.strftime('%d-%m-%Y')}")

new_dt = initial + delta
print(f"Final date: {new_dt.strftime('%d-%m-%Y')}")

Однако мой вывод:

Initial date: 05-03-2019
Final date: 31-03-2019

Что здесь не так?

1 Ответ

1 голос
/ 24 марта 2019
delta = relativedelta(day=60)
new_dt = initial + delta

День initial установлен (не увеличен, но установлен) на 60, но поскольку в этом месяце только 31 день, он установлен на 31.

https://dateutil.readthedocs.io/en/stable/relativedelta.html

Если вы хотите увеличить дату на 60 дней, используйте

delta = datetime.timedelta(days=60)

ИЛИ

delta = relativedelta(days=60)

вместо

delta = relativedelta(day=60)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...