닌자고양이
[C#] 시간 범위 겹침 여부 체크 본문
bool IsOverlap(TimeSpan a1, TimeSpan a2, TimeSpan b1, TimeSpan b2)
{
if (a1 > a2)
return IsOverlap(a1, TimeSpan.FromHours(24), b1, b2) || IsOverlap(TimeSpan.Zero, a2, b1, b2);
else if (b1 > b2)
return IsOverlap(a1, a2, b1, TimeSpan.FromHours(24)) || IsOverlap(a1, a2, TimeSpan.Zero, b2);
else
return (a1 <= b1 && b1 <= a2) || (b1 <= a1 && a1 <= b2);
}
...
var a1 = new TimeSpan(22, 0, 0);
var a2 = new TimeSpan(05, 0, 0);
var b1 = new TimeSpan(06, 6, 0);
var b2 = new TimeSpan(07, 7, 0);
Console.WriteLine(IsOverlap(a1, a2, b1, b2));
'C# .NET' 카테고리의 다른 글
[.NET Core/.NET 5] 단일 실행 파일로 배포하기 (0) | 2021.03.01 |
---|---|
[C#] 문자열을 특정 길이(chunk size)로 쪼개기 (0) | 2020.09.18 |
[C#] C#에서 C언어의 printf, scanf, getch 사용하기 (0) | 2020.06.25 |
[C#] LINQ 를 사용한 DataTable 의 Outter Join (0) | 2019.10.18 |
Comments