DateTime.CompareTo DateTime.CompareTo DateTime.CompareTo DateTime.CompareTo Method

Definition

Vergleicht den Wert dieser Instanz mit einem angegebenen DateTime-Wert und gibt an, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht.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.

Überlädt

CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime)

Vergleicht den Wert dieser Instanz mit einem angegebenen DateTime-Wert und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht.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) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Vergleicht den Wert dieser Instanz mit einem angegebenen Objekt, das einen angegebenen DateTime-Wert enthält, und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht.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.

Hinweise

Die beiden Überladungen der der CompareTo Methodenrückgabewert eine Zahl mit Vorzeichen, der den relativen Wert dieser Instanz angibt und die value -Arguments zu, wie in der folgenden Tabelle dargestellt.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.

WertValue BeschreibungDescription
Kleiner als 0 (null)Less than zero Diese Instanz liegt vor value.This instance is earlier than value.
ZeroZero Diese Instanz entspricht value.This instance is the same as value.
Größer als 0 (null)Greater than zero Diese Instanz liegt nach value.This instance is later than value.

CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime)

Vergleicht den Wert dieser Instanz mit einem angegebenen DateTime-Wert und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht.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

Parameter

value
DateTime DateTime DateTime DateTime

Das Objekt, das mit der aktuellen Instanz verglichen werden soll.The object to compare to the current instance.

Gibt zurück

Eine Zahl mit Vorzeichen, die das Verhältnis zwischen dem Wert dieser Instanz und dem Wert des value-Parameters angibt.A signed number indicating the relative values of this instance and the value parameter.

WertValue BeschreibungDescription
Kleiner als 0 (null)Less than zero Diese Instanz liegt vor value.This instance is earlier than value.
ZeroZero Diese Instanz entspricht value.This instance is the same as value.
Größer als 0 (null)Greater than zero Diese Instanz liegt nach value.This instance is later than value.

Implementiert

Beispiele

Das folgende Beispiel instanziiert drei DateTime Objekte, eines heute für Datum, ein weiteres, das das Datum ein Jahr zuvor darstellt, und eine dritte, die das Datum ein Jahr in der Zukunft darstellt.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. Es ruft dann die CompareTo(DateTime) Methode und das Ergebnis des Vergleichs angezeigt.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

Hinweise

Um zu bestimmen, die Beziehung zwischen der aktuellen Instanz value, CompareTo -Methode vergleicht die Ticks -Eigenschaft der aktuellen Instanz und value ignoriert jedoch ihre Kind Eigenschaft.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. Vor dem Vergleich von DateTime Objekte, stellen Sie sicher, dass die Objekte Zeiten in der gleichen Zeitzone darstellen.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. Hierzu können Sie vergleichen der Werte von ihren Kind Eigenschaften.You can do this by comparing the values of their Kind properties.

Diese Methode implementiert die System.IComparable<T> -Schnittstelle und führt etwas bessere Leistung als die DateTime.CompareTo(Object) Methode zu überladen, da es keine konvertieren die value Parameter für ein Objekt.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.

Siehe auch

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Vergleicht den Wert dieser Instanz mit einem angegebenen Objekt, das einen angegebenen DateTime-Wert enthält, und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht.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

Parameter

value
Object Object Object Object

Ein zu vergleichendes geschachteltes Objekt oder null.A boxed object to compare, or null.

Gibt zurück

Eine Zahl mit Vorzeichen, die das Verhältnis zwischen dem Wert dieser Instanz und value angibt.A signed number indicating the relative values of this instance and value.

WertValue BeschreibungDescription
Kleiner als 0 (null)Less than zero Diese Instanz liegt vor value.This instance is earlier than value.
ZeroZero Diese Instanz entspricht value.This instance is the same as value.
Größer als 0 (null)Greater than zero Diese Instanz liegt nach value, oder value ist null.This instance is later than value, or value is null.

Implementiert

Ausnahmen

Beispiele

Das folgende Beispiel veranschaulicht die CompareTo Methode.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

Hinweise

Um zu bestimmen, die Beziehung zwischen der aktuellen Instanz value, CompareTo -Methode vergleicht die Ticks -Eigenschaft der aktuellen Instanz und value ignoriert jedoch ihre Kind Eigenschaft.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. Vor dem Vergleich von DateTime Objekte, stellen Sie sicher, dass die Objekte Zeiten in der gleichen Zeitzone darstellen.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. Hierzu können Sie vergleichen der Werte von ihren Kind Eigenschaften.You can do this by comparing the values of their Kind properties.

Jede Instanz von DateTime, unabhängig von seinem Wert wird als größer betrachtet null.Any instance of DateTime, regardless of its value, is considered greater than null.

Siehe auch

Gilt für: