Algoritmo para detectar períodos sobrepostos [duplicado]
Esta pergunta já tem uma resposta aqui:
Determine se duas faixas de datas se sobrepõem 34 respostas Tenho que detectar se dois períodos estão sobrepostos.
Todo período tem uma data de início e uma data de términ
Preciso detectar se meu primeiro período (A) está sobreposto a outro (B / C
No meu caso, se o início de B for igual ao final de A, eles não serão sobrepostos (o inverso também)
Encontrei os seguintes casos:
Então, na verdade, estou fazendo isso assim:
tStartA < tStartB && tStartB < tEndA //For case 1
OR
tStartA < tEndB && tEndB <= tEndA //For case 2
OR
tStartB < tStartA && tEndB > tEndA //For case 3
(O caso 4 é considerado na conta 1 ou 2)
Istotrabalh, mas parece não ser muito eficient
ntão, primeiro, existe uma classe existente em c # que pode modelar isso (um período de tempo), algo como um período de tempo, mas com uma data de início fix
Segundo: Já existe um código c # (como noDateTime
class) que pode lidar com iss
Terceiro: se não, qual seria sua abordagem para tornar essa comparação a mais rápid