DateTime.CompareTo 메서드

정의

이 인스턴스의 값을 지정된 DateTime 값과 비교하고 이 인스턴스가 지정된 DateTime 값보다 이전인지, 같은지 또는 이후인지를 나타냅니다.Compares the value of this instance to a specified DateTime value and indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

오버로드

CompareTo(DateTime)

이 인스턴스의 값을 지정된 DateTime 값과 비교하고 이 인스턴스가 지정된 DateTime 값보다 이전인지, 같은지 또는 이후인지를 나타내는 정수를 반환합니다.Compares the value of this instance to a specified DateTime value and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

CompareTo(Object)

이 인스턴스의 값을 지정된 DateTime 값이 포함된 지정된 개체와 비교하고, 이 인스턴스가 지정된 DateTime 값보다 이전인지, 같은지 또는 이후인지를 나타내는 정수를 반환합니다.Compares the value of this instance to a specified object that contains a specified DateTime value, and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

설명

두 오버 로드는 CompareTo 메서드가이 인스턴스의 상대 값을 나타내는 부호 있는 숫자를 반환 하며 value 인수에는 다음 표에 나와 있는 것 처럼 합니다.The two overloads of the CompareTo method return a signed number that indicates the relative value of this instance and the value argument, as shown in the following table.

Value 설명Description
0보다 작음Less than zero 이 인스턴스는 value 보다 이전입니다.This instance is earlier than value.
0Zero 이 인스턴스는 value와 같습니다.This instance is the same as value.
0보다 큼Greater than zero 이 인스턴스는 value보다 이후입니다.This instance is later than value.

CompareTo(DateTime)

이 인스턴스의 값을 지정된 DateTime 값과 비교하고 이 인스턴스가 지정된 DateTime 값보다 이전인지, 같은지 또는 이후인지를 나타내는 정수를 반환합니다.Compares the value of this instance to a specified DateTime value and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

public:
 virtual int CompareTo(DateTime value);
public int CompareTo (DateTime value);
abstract member CompareTo : DateTime -> int
override this.CompareTo : DateTime -> int
Public Function CompareTo (value As DateTime) As Integer

매개 변수

value
DateTime

현재 인스턴스와 비교할 개체입니다.The object to compare to the current instance.

반환

이 인스턴스와 value 매개 변수의 상대 값을 나타내는 부호 있는 숫자입니다.A signed number indicating the relative values of this instance and the value parameter.

Value 설명Description
0보다 작음Less than zero 이 인스턴스는 value 보다 이전입니다.This instance is earlier than value.
0Zero 이 인스턴스는 value와 같습니다.This instance is the same as value.
0보다 큼Greater than zero 이 인스턴스는 value보다 이후입니다.This instance is later than value.

구현

예제

다음 예제에서는 세 가지 인스턴스화합니다 DateTime 하나는 현재 날짜를 1 년 동안 나중에 날짜를 나타내는 세 번째 및 1 년 이전에 날짜를 나타내는 다른 개체입니다.The following example instantiates three DateTime objects, one that represents today's date, another that represents the date one year previously, and a third that represents the date one year in the future. 그런 다음 호출을 CompareTo(DateTime) 메서드 비교의 결과 표시 합니다.It then calls the CompareTo(DateTime) method and displays the result of the comparison.

using System;

public class DateTimeComparison
{
   private enum DateComparisonResult
   {
      Earlier = -1,
      Later = 1,
      TheSame = 0
   };

   public static void Main()
   {
      DateTime thisDate = DateTime.Today;


      // Define two DateTime objects for today's date 
      // next year and last year		
      DateTime thisDateNextYear, thisDateLastYear;

      // Call AddYears instance method to add/substract 1 year
      thisDateNextYear = thisDate.AddYears(1);
      thisDateLastYear = thisDate.AddYears(-1);   

      // Compare dates
      //
      DateComparisonResult comparison;
      // Compare today to last year
      comparison = (DateComparisonResult) thisDate.CompareTo(thisDateLastYear);
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", 
                        (int) comparison, thisDate, comparison.ToString().ToLower(), 
                        thisDateLastYear);
      
      // Compare today to next year
      comparison = (DateComparisonResult) thisDate.CompareTo(thisDateNextYear);
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", 
                        (int) comparison, thisDate, comparison.ToString().ToLower(), 
                        thisDateNextYear);
   }
}
//
// If run on October 20, 2006, the example produces the following output:
//    CompareTo method returns 1: 10/20/2006 is later than 10/20/2005
//    CompareTo method returns -1: 10/20/2006 is earlier than 10/20/2007
Option Strict On

Module DateTimeComparison
   Private Enum DateComparisonResult
      Earlier = -1
      Later = 1
      TheSame = 0
   End Enum
   
   Public Sub Main()

      Dim thisDate As Date = Date.Today

      ' Define two DateTime objects for today's date 
      ' next year and last year		
      Dim thisDateNextYear, thisDateLastYear As Date

      ' Call AddYears instance method to add/substract 1 year
      thisDateNextYear = thisDate.AddYears(1)
      thisDateLastYear = thisDate.AddYears(-1)   

       
      ' Compare dates
      '
      Dim comparison As DateComparisonResult
      ' Compare today to last year
      comparison = CType(thisDate.CompareTo(thisDateLastYear), DateComparisonResult)
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", _ 
                        CInt(comparison), thisDate, comparison.ToString().ToLower(), _ 
                        thisDateLastYear)
      
      ' Compare today to next year
      comparison = CType(thisDate.CompareTo(thisDateNextYear), DateComparisonResult)
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", _
                        CInt(comparison), thisDate, comparison.ToString().ToLower(), _
                        thisDateNextYear)
   End Sub
End Module
'
' If run on October 20, 2006, the example produces the following output:
'    CompareTo method returns 1: 10/20/2006 is later than 10/20/2005
'    CompareTo method returns -1: 10/20/2006 is earlier than 10/20/2007

설명

현재 인스턴스의 관계를 확인 하려면 value, CompareTo 메서드 비교 합니다 Ticks 현재 인스턴스의 속성 및 value 무시 하지만 해당 Kind 속성입니다.To determine the relationship of the current instance to value, the CompareTo method compares the Ticks property of the current instance and value but ignores their Kind property. 비교 하기 전에 DateTime 개체를 동일한 표준 시간대의 시간을 나타내는 개체를 확인 합니다.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. 값을 비교 하면 해당 Kind 속성입니다.You can do this by comparing the values of their Kind properties.

이 메서드를 구현 하는 System.IComparable<T> 인터페이스 및 수행 보다 조금 더 나은 DateTime.CompareTo(Object) 변환할 필요가 없기 때문에 메서드 오버 로드는 value 매개 변수 개체를 합니다.This method implements the System.IComparable<T> interface and performs slightly better than the DateTime.CompareTo(Object) method overload because it does not have to convert the value parameter to an object.

추가 정보

CompareTo(Object)

이 인스턴스의 값을 지정된 DateTime 값이 포함된 지정된 개체와 비교하고, 이 인스턴스가 지정된 DateTime 값보다 이전인지, 같은지 또는 이후인지를 나타내는 정수를 반환합니다.Compares the value of this instance to a specified object that contains a specified DateTime value, and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

public:
 virtual int CompareTo(System::Object ^ value);
public int CompareTo (object value);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (value As Object) As Integer

매개 변수

value
Object

비교할 boxing된 개체이거나 null입니다.A boxed object to compare, or null.

반환

이 인스턴스와 value의 상대 값을 나타내는 부호 있는 숫자입니다.A signed number indicating the relative values of this instance and value.

Value 설명Description
0보다 작음Less than zero 이 인스턴스는 value 보다 이전입니다.This instance is earlier than value.
0Zero 이 인스턴스는 value와 같습니다.This instance is the same as value.
0보다 큼Greater than zero 이 인스턴스는 value보다 이후이거나 valuenull입니다.This instance is later than value, or value is null.

구현

예외

valueDateTime가 아닌 경우value is not a DateTime.

예제

다음 예제는 CompareTo 메서드.The following example demonstrates the CompareTo method.

using namespace System;
void main()
{
   

   System::DateTime theDay(System::DateTime::Today.Year,7,28);
   int compareValue;
   try
   {
      compareValue = theDay.CompareTo( System::DateTime::Today );
   }
   catch ( ArgumentException^ ) 
   {
      System::Console::WriteLine( "Value is not a DateTime" );
      return;
   }

   if ( compareValue < 0 )
   {
      System::Console::WriteLine( "{0:d} is in the past.", theDay );
   }
   else
   if ( compareValue == 0 )
   {
      System::Console::WriteLine( "{0:d} is today!", theDay );
   }
   else
   // compareValue > 0 
   {
      System::Console::WriteLine( "{0:d} has not come yet.", theDay );
   }
}
System.DateTime theDay = new System.DateTime(System.DateTime.Today.Year, 7, 28);
int compareValue;

try 
{
    compareValue = theDay.CompareTo(DateTime.Today);
} 
catch (ArgumentException) 
{
   Console.WriteLine("Value is not a DateTime");
   return;
}

if (compareValue < 0) 
   System.Console.WriteLine("{0:d} is in the past.", theDay);
else if (compareValue == 0) 
   System.Console.WriteLine("{0:d} is today!", theDay);
else // compareValue > 0
   System.Console.WriteLine("{0:d} has not come yet.", theDay);
Dim thDay As New System.DateTime(System.DateTime.Today.Year, 7, 28)

Dim compareValue As Integer
Try
   compareValue = thDay.CompareTo(System.DateTime.Today)
Catch exp As ArgumentException
   System.Console.WriteLine("Value is not a DateTime")
End Try

If compareValue < 0 Then
   System.Console.WriteLine("{0:d} is in the past.", thDay)
ElseIf compareValue = 0 Then
   System.Console.WriteLine("{0:d} is today!", thDay)
Else   ' compareValue >= 1 
   System.Console.WriteLine("{0:d} has not come yet.", thDay)
End If

설명

현재 인스턴스의 관계를 확인 하려면 value, CompareTo 메서드 비교 합니다 Ticks 현재 인스턴스의 속성 및 value 무시 하지만 해당 Kind 속성입니다.To determine the relationship of the current instance to value, the CompareTo method compares the Ticks property of the current instance and value but ignores their Kind property. 비교 하기 전에 DateTime 개체를 동일한 표준 시간대의 시간을 나타내는 개체를 확인 합니다.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. 값을 비교 하면 해당 Kind 속성입니다.You can do this by comparing the values of their Kind properties.

인스턴스에도 DateTime, 해당 값에 관계 없이 보다 큰 것으로 간주 됩니다 null합니다.Any instance of DateTime, regardless of its value, is considered greater than null.

추가 정보

적용 대상