#python #date #datetime
Вопрос:
Я хотел бы получить количество дней между двумя датами. Но дни не обязательно должны быть полными 24-часовыми днями. Если первое свидание состоится прямо перед полуночью, а второе-сразу после полуночи, я все равно хочу, чтобы оно считалось одним днем.
from datetime import datetime
a = datetime.strptime("2021-07-13 22:00:00", "%Y-%m-%d %H:%M:%S")
b = datetime.strptime("2021-07-14 06:00:00", "%Y-%m-%d %H:%M:%S")
print((b-a).days)
# Output: 0
# Expected output: 1
Ответ №1:
Просто удалите компонент времени из datetime
вызова .date()
,
from datetime import datetime
a = datetime.strptime("2021-07-13 22:00:00", "%Y-%m-%d %H:%M:%S").date()
b = datetime.strptime("2021-07-14 06:00:00", "%Y-%m-%d %H:%M:%S").date()
print((b-a).days)
Комментарии:
1. Так что это было бы
(b.date()-a.date()).days
в исходном коде в вопросе2. @CedricZoppolo уверен, что если вы хотите
a
иb
хотите оставатьсяdatetime
объектами, аdate
не объектами, вы могли бы это сделать.