C #에서 날짜를 비교하는 방법
데이트가 두 개 있어요. 하나의 날짜는 입력되고 다른 하나는 DateTime.Now
. 나는 그것들을 mm/dd/yyyy
형식으로 가지고 있으며 , m / d / yy 형식 일 수도 있습니다. 두 날짜 모두 nullable입니다. 즉, DateTime?
입력으로 null을 전달할 수 있기 때문에 datatype은 입니다. 이제 두 날짜를 mm/dd/yyyy
or 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
'ProgramingTip' 카테고리의 다른 글
SQL Server 2008에서 열 값을 어떻게 바꾸나요? (0) | 2020.12.11 |
---|---|
C # 사전에 대한 명명 규칙 (0) | 2020.12.11 |
여러 파일을 찾아 Linux에서 이름 (0) | 2020.12.10 |
vim에서 bash의 현재 줄 실행 (0) | 2020.12.10 |
heredoc 확장 변수를 피하는 방법은 무엇입니까? (0) | 2020.12.10 |