두개의 DateTime의 날짜/시간 순서를 비교하는 방법을 소개합니다. 어떤 날짜가 시간상 앞, 뒤 또는 같은지 비교할 수 있습니다.
1. DateTime.Compare()를 이용한 방법
DateTime.Compare(datetime1, datetime2)
은 인자로 전달된 두 DateTime의 날짜/시간을 비교하여 아래와 같은 결과를 리턴합니다.
- 0보다 작은 수 : datetime1이 datetime2보다 이전
- 0 : datetime1과 datetime2이 같음
- 0보다 큰 수 : datetime1이 datetime2보다 나중
아래와 같이 위 3가지 케이스를 모두 확인해볼 수 있습니다.
namespace Example {
public class Program {
public static void compare(DateTime date1, DateTime date2) {
int result = DateTime.Compare(date1, date2);
if (result < 0) {
Console.WriteLine("{0} is earlier than {1}", date1, date2);
} else if (result == 0) {
Console.WriteLine("{0} is the same as {1}", date1, date2);
} else {
Console.WriteLine("{0} is later than {1}", date1, date2);
}
}
public static void Main(string[] args) {
DateTime date1 = DateTime.Now;
DateTime date2 = date1;
DateTime date3 = date1.AddDays(1);
compare(date1, date2);
compare(date1, date3);
compare(date3, date1);
}
}
}
Output:
12/10/2022 5:03:23 PM is the same as 12/10/2022 5:03:23 PM
12/10/2022 5:03:23 PM is earlier than 12/11/2022 5:03:23 PM
12/11/2022 5:03:23 PM is later than 12/10/2022 5:03:23 PM
2. >, <, == 연산자를 이용한 방법
DateTime.Compare()
를 사용하지 않고, >, <, ==
의 연산자를 사용하여 DateTime의 날짜/시간 순서를 비교할 수 있습니다.
아래 예제는 DateTime.Compare()
대신에 >, <, ==
를 사용하여 비교하였습니다.
namespace Example {
public class Program {
public static void compare(DateTime date1, DateTime date2) {
if (date1 < date2) {
Console.WriteLine("{0} is earlier than {1}", date1, date2);
} else if (date1 == date2) {
Console.WriteLine("{0} is the same as {1}", date1, date2);
} else {
Console.WriteLine("{0} is later than {1}", date1, date2);
}
}
public static void Main(string[] args) {
DateTime date1 = DateTime.Now;
DateTime date2 = date1;
DateTime date3 = date1.AddDays(1);
compare(date1, date2);
compare(date1, date3);
compare(date3, date1);
}
}
}
Output:
12/10/2022 5:08:48 PM is the same as 12/10/2022 5:08:48 PM
12/10/2022 5:08:48 PM is earlier than 12/11/2022 5:08:48 PM
12/11/2022 5:08:48 PM is later than 12/10/2022 5:08:48 PM
Loading script...
Related Posts
- C# 바이트(Byte) 배열을 문자열로 변환
- C# String.format() 함수 알아보기
- C# - foreach (Array, List, Dictionary)
- C# 프로퍼티(Property) Get/Set 함수
- C# - Dictionary에서 key, value 가져오기
- C# - Dictionary 순회, foreach, for 루프
- C# - Dictionary에서 key, value 삭제
- C# - Dictionary.add()로 데이터 추가
- C# - Dictionary 선언 및 초기화
- C# - 문자열을 Double, Float으로 변환
- C# - 문자열을 리스트로 변환
- C# - 두 날짜/시간 비교, DateTime.Compare()
- C# - 날짜 계산, DateTime 시간 더하기 빼기
- C# - 날짜 문자열을 DateTime으로 변환
- C# - Sleep, 몇 초간 지연시키기
- C# - Timestamp(millisecond)를 DateTime 객체로 변환
- C# - 현재 시간 가져오기, DateTime
- C# - 문자열 리스트를 문자열로 변환
- C# - 리스트 복사 (얕은 복사, 깊은 복사)
- C# - 2차원 리스트 선언 및 초기화
- C# - 리스트 선언 및 초기화
- C# - 리스트 길이, 크기 가져오기
- C# - 리스트 합계, 평균 계산
- C# - 리스트 요소 제거 (RemoveAt, RemoveAt, RemoveAll)
- C# - 리스트에서 빈 문자열, null 제거
- C# - 리스트 두개로 분리, n개로 나누기
- C# - 문자열 뒤집기, Reverse()
- C# - 2차원 배열 복사, Clone
- C# - 문자열 배열을 문자열로 변환
- C# - 2차원 배열 선언, 초기화 방법
- C# - 배열 길이, 2차원 배열 길이
- C# - 두개의 배열을 하나로 합치기
- C# - 배열 중복 요소 제거
- C# - 배열에서 특정 요소 제거
- C# - Int 배열 정렬 (오름차순, 내림차순)