Cómo verificar la intersección de los períodos DateTime [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Algoritmo para detectar períodos superpuestos [duplicado] 12 respuestasTengo cuatro objetos DateTime. A1, A2 y B1, B2.
Necesito saber que el período A1-A2 no se cruza con el período B1-B2. Pero no quiero escribir código sucio, como muchos bloques if.
if (A1 < B1 && A2 > B1)
{
return false;
}
.... etc.
EDITADO
Intenté usar este: Rangos de comparación
DateTime A1 = DateTime.MinValue.AddMinutes(61);
DateTime A2 = DateTime.MinValue.AddHours(1.2);
DateTime B1 = DateTime.MinValue.AddMinutes(5);
DateTime B2 = DateTime.MinValue.AddHours(1);
Console.WriteLine(Range.Overlap(
new Range<DateTime>(A1, A2),
new Range<DateTime>(B1, B2)
));
Regresóciert pero esperabafals. Porque este código siempre devuelve verdadero
if (left.Start.CompareTo(left.Start) == 0)
{
return true;
}