ProgramingTip

C #에서 날짜를 비교하는 방법

bestdevel 2020. 12. 11. 19:12
반응형

C #에서 날짜를 비교하는 방법


데이트가 두 개 있어요. 하나의 날짜는 입력되고 다른 하나는 DateTime.Now. 나는 그것들을 mm/dd/yyyy형식으로 가지고 있으며 , m / d / yy 형식 일 수도 있습니다. 두 날짜 모두 nullable입니다. 즉, DateTime?입력으로 null을 전달할 수 있기 때문에 datatype은 입니다. 이제 두 날짜를 mm/dd/yyyyor m/d/yy형식으로 만 비교하고 싶습니다 .


DateTime 변수에 날짜 있는 경우 형식 이 없습니다 .

Date속성을 사용하여 시간 부분이 자정으로 설정된 DateTime 값을 반환 할 수 있습니다 . 따라서 다음이있는 경우 :

DateTime dt1 = DateTime.Parse("07/12/2011");
DateTime dt2 = DateTime.Now;

if(dt1.Date > dt2.Date)
{
     //It's a later date
}
else
{
     //It's an earlier or equal date
}

DateTime변수에 날짜가 있으면 DateTime객체이며 어떤 형식도 포함하지 않습니다. 형식화 된 날짜는 메서드 string를 호출 DateTime.ToString하고 형식을 제공 할 때로 표현됩니다 .

두 개의 DateTime변수 가 있다고 가정 해 봅시다 . 비교를 위해 비교 방법을 사용할 수 있습니다.

DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 2, 0, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";         
else
   relationship = "is later than";

msdn 에서 가져온 코드 조각 .


첫째, DateTime개체가 형식이 지정되지 않았 음을 이해하십시오 . 그들은 단지 년, 월, 일,시, 분, 초 등을 숫자 값으로 저장하고 어떻게 든 문자열로 표현하고 싶을 때 형식화가 발생합니다. DateTime서식을 지정하지 않고 개체를 비교할 수 있습니다 .

입력 날짜를와 비교하려면 DateTime.Now먼저 입력을 날짜로 구문 분석 한 다음 년 / 월 / 일 부분 만 비교해야합니다.

DateTime inputDate;
if(!DateTime.TryParse(inputString, out inputDate))
    throw new ArgumentException("Input string not in the correct format.");

if(inputDate.Date == DateTime.Now.Date) {
    // Same date!
}

참고 URL : https://stackoverflow.com/questions/6592126/how-to-compare-dates-in-c-sharp

반응형