Поиск промежуточной даты между двумя датами в Python

Данные даты:

my_guess = '2014-11-30'
their_guess = '2017-08-30'

Как разделить дельта между датами, вернув правильную дату календаря?

Ответ 1

Один из способов - использовать datetime. Найдите разницу между двумя датами, разделите их пополам и добавьте в более раннюю дату:

>>> from datetime import datetime
>>> a = datetime(2014, 11, 30)
>>> b = datetime(2017, 8 ,30)
>>> a + (b - a)/2
2016-04-15 00:00:00

Ответ 2

from datetime import datetime
d1 = datetime.strptime(my_guess,"%Y-%m-%d")
d2 = datetime.strptime(their_guess,"%Y-%m-%d")
print d1.date() + (d2-d1) / 2 # first date plus the midpoint of the difference between d1 and d2  
2016-04-15 

Ответ 3

(a + b)/2

эквивалентно:

а + (б - а)/2

и немного просто читать и, возможно, быстрее. (Математика)