import datetime as dt
date = dt.datetime(1970, 1, 1, 12)
dates = [dt.datetime(1970, 1, 2), dt.datetime(1970, 1, 3)]
from bisect import bisect
ind = bisect(dates, date, hi=len(dates) - 1)
print(min(dates[ind], dates[ind - 1], key=lambda x: abs(x - date)))
Получить ближайшую дату и время из списка