У меня есть два диапазона дат, каждый из которых определяется датой начала и окончания (очевидно, экземпляры datetime.date ()). Эти два диапазона могут перекрываться или нет. Мне нужно количество дней перекрытия. Конечно, я могу предварительно заполнить два набора всеми датами в обоих диапазонах и выполнить пересечение наборов, но это, возможно, неэффективно ... есть ли лучший способ отдельно от другого решения, используя длинный раздел if-elif, охватывающий все случаи?