Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# DateTime.Equals() 메서드 – 두 날짜가 같은지 비교하는 방법


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를 반환합니다.