https://docs.microsoft.com/ko-kr/dotnet/api/system.datetime.compare?view=netcore-3.1
비교에 따라 -1, 0, 1을 리턴하는데 시작시간과 끝내는 시간 처리할 경우, 0과 1일 경우만 동작 처리하면 된다.
(-1은 무시)
using System;
// 날짜 나 시간 비교해서 해당 조건 기간이면 0,1을 리턴, 아니면 -1 리턴...
class MainClass {
public static void Main (string[] args) {
string startDate = "2020/08/11";
string nowDate = "2020/08/08";
string endDate = "2020/08/18";
int yy = 2020; byte mm = 8; byte dd = 13;
string dataFormat = string.Format("{0}/{1:D2}/{2:D2}",yy,mm,dd);
Console.WriteLine("dataFormat ==> {0}", dataFormat);
DateTime dtStart = Convert.ToDateTime(startDate).Date;
DateTime dtNow = Convert.ToDateTime(nowDate).Date;
DateTime dtEnd = Convert.ToDateTime(endDate).Date;
int result = DateTime.Compare(dtNow, dtStart);
int result2 = DateTime.Compare(dtNow, dtEnd);
Console.WriteLine("============ Compare Day ===============");
for(int i = 1; i<12; i++)
{
dtNow = dtNow.AddDays(1);
result = DateTime.Compare(dtStart, dtNow);
result2 = DateTime.Compare(dtNow, dtEnd);
Console.WriteLine (" result {0} {1} {2} Date {3}", result, result2, result*result2, dtNow.ToString("yyyy/MM/dd"));
}
string starttime = "13:15:00";
string nowtime = "13:00:00";
string endtime = "14:30:00";
DateTime timeStart = Convert.ToDateTime(starttime);
DateTime timeNow = Convert.ToDateTime(nowtime);
DateTime timeEnd = Convert.ToDateTime(endtime);
Console.WriteLine("============ Compare Time ===============");
for(int i = 1; i<12; i++)
{
timeNow = timeNow.AddMinutes(10);
result = DateTime.Compare(timeStart, timeNow);
result2 = DateTime.Compare(timeNow, timeEnd);
Console.WriteLine (" result {0} {1} {2} Date {3}", result, result2, result*result2, timeNow.ToString("HH:mm:ss"));
}
}
}
// 실행
dataFormat ==> 2020/08/13
============ Compare Day ===============
result 1 -1 -1 Date 2020/08/09
result 1 -1 -1 Date 2020/08/10
result 0 -1 0 Date 2020/08/11
result -1 -1 1 Date 2020/08/12
result -1 -1 1 Date 2020/08/13
result -1 -1 1 Date 2020/08/14
result -1 -1 1 Date 2020/08/15
result -1 -1 1 Date 2020/08/16
result -1 -1 1 Date 2020/08/17
result -1 0 0 Date 2020/08/18
result -1 1 -1 Date 2020/08/19
============ Compare Time ===============
result 1 -1 -1 Date 13:10:00
result -1 -1 1 Date 13:20:00
result -1 -1 1 Date 13:30:00
result -1 -1 1 Date 13:40:00
result -1 -1 1 Date 13:50:00
result -1 -1 1 Date 14:00:00
result -1 -1 1 Date 14:10:00
result -1 -1 1 Date 14:20:00
result -1 0 0 Date 14:30:00
result -1 1 -1 Date 14:40:00
result -1 1 -1 Date 14:50:00
'SW > C#' 카테고리의 다른 글
메소드 가변 파라메터 params (0) | 2022.02.05 |
---|---|
바이트 byte 버퍼 저장.. 통신 처리에서 사용. (0) | 2020.08.10 |
문자열16진수를 바이트 형태로 변환 / 특정 문자로 바이트 분리 (0) | 2020.08.08 |
Timer Task 타이머 타스크 (0) | 2020.07.28 |
string byte copy 스트링 바이트 복사 Array.Copy 조합, combine (0) | 2020.07.27 |