C#의 DateTime.Equals() 메서드는 두 개의 DateTime 객체 또는 인스턴스가 서로 같은지 여부를 확인하는 데 사용됩니다. 두 값이 동일하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
구문(Syntax)
DateTime.Equals() 메서드의 기본 구문은 다음과 같습니다.
public static bool Equals (DateTime date1, DateTime date2);
이 메서드는 비교할 두 개의 DateTime 값을 매개변수로 받으며, 두 값이 완전히 같으면 true, 하나라도 다르면 false를 반환합니다.
예제 1
다음 예제는 AddMonths() 메서드로 날짜를 변경한 뒤, DateTime.Equals() 메서드로 두 날짜를 비교하는 방법을 보여줍니다.
using System;
public class Demo {
public static void Main() {
DateTime d1 = new DateTime(2019, 09, 10, 5, 15, 25);
DateTime d2 = d1.AddMonths(25);
Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
Console.WriteLine("\nNew DateTime (After adding months) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
bool res = DateTime.Equals(d1, d2);
if (res)
Console.WriteLine("\ndate1 = date2. ");
else
Console.WriteLine("\ndate1 is not equal to date2. ");
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Initial DateTime = 10 September 2019, 05:15:25 New DateTime (After adding months) = 10 October 2021, 05:15:25 date1 is not equal to date2.
d1에 25개월을 더한 d2는 2021년 10월이 되었기 때문에 두 DateTime 객체는 서로 다른 값으로 판단되어 false가 반환됩니다.
예제 2
이번에는 동일한 날짜와 시간 값을 가진 두 DateTime 객체를 비교해 보겠습니다.
using System;
public class Demo {
public static void Main() {
DateTime d1 = new DateTime(2019, 11, 11, 7, 15, 30);
DateTime d2 = new DateTime(2019, 11, 11, 7, 15, 30);
Console.WriteLine("DateTime1 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
Console.WriteLine("\nDateTime2 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
bool res = DateTime.Equals(d1, d2);
if (res)
Console.WriteLine("\ndate1 = date2 ");
else
Console.WriteLine("\ndate1 is not equal to date2 ");
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DateTime1 = 11 November 2019, 07:15:30 DateTime2 = 11 November 2019, 07:15:30 date1 = date2
두 DateTime 객체가 연, 월, 일, 시, 분, 초까지 정확히 같은 값을 가지고 있으므로 DateTime.Equals() 메서드는 true를 반환합니다.