Tengo dos rangos de fechas donde cada rango está determinado por una fecha de inicio y finalización (obviamente, instancias de datetime.date ()). Los dos rangos pueden superponerse o no. Necesito el número de días de superposición. Por supuesto, puedo precompletar dos conjuntos con todas las fechas dentro de ambos rangos y realizar una intersección de conjuntos, pero esto es posiblemente ineficiente ... ¿hay una mejor manera aparte de otra solución que use una sección if-elif larga que cubra todos los casos?