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

Definizione

Confronta il valore di questa istanza con un valore DateTime specificato e indica se l'istanza è precedente, uguale o successiva al valore DateTime specificato.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.

Overload

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

Confronta il valore di questa istanza con un valore DateTime specificato e restituisce un intero che indica se l'istanza è precedente, uguale o successiva al valore DateTime specificato.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)

Confronta il valore di questa istanza con un oggetto specificato contenente un valore DateTime specificato e restituisce un intero che indica se l'istanza è precedente, uguale o successiva al valore DateTime specificato.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.

Commenti

I due overload del CompareTo metodo restituiscono un numero con segno che indica il valore relativo di questa istanza e l' value argomento, come illustrato nella tabella seguente.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.

ValueValue DescriptionDescription
Minore di zeroLess than zero Questa istanza è precedente al parametro value.This instance is earlier than value.
ZeroZero Questa istanza è uguale al parametro value.This instance is the same as value.
Maggiore di zeroGreater than zero Questa istanza è successiva al parametro value.This instance is later than value.

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

Confronta il valore di questa istanza con un valore DateTime specificato e restituisce un intero che indica se l'istanza è precedente, uguale o successiva al valore DateTime specificato.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

Parametri

value
DateTime DateTime DateTime DateTime

Oggetto da confrontare con l'istanza corrente della classe.The object to compare to the current instance.

Restituisce

Numero con segno che indica i valori relativi di questa istanza e il parametro value.A signed number indicating the relative values of this instance and the value parameter.

ValueValue DescriptionDescription
Minore di zeroLess than zero Questa istanza è precedente al parametro value.This instance is earlier than value.
ZeroZero Questa istanza è uguale al parametro value.This instance is the same as value.
Maggiore di zeroGreater than zero Questa istanza è successiva al parametro value.This instance is later than value.

Implementazioni

Esempi

Nell'esempio seguente viene creata un' DateTime istanza di tre oggetti, uno che rappresenta la data odierna, un altro che rappresenta la data precedente di un anno e un terzo che rappresenta la data di un anno in futuro.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. Viene quindi chiamato il CompareTo(DateTime) metodo e viene visualizzato il risultato del confronto.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

Commenti

Per determinare la relazione valuedell'istanza corrente con, il CompareTo metodo confronta la Ticks proprietà dell'istanza corrente e value ignora la relativa Kind proprietà.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. Prima di DateTime confrontare gli oggetti, verificare che gli oggetti rappresentino orari nello stesso fuso orario.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. A tale scopo, è possibile confrontare i valori delle Kind relative proprietà.You can do this by comparing the values of their Kind properties.

Questo metodo implementa l' System.IComparable<T> interfaccia e offre prestazioni leggermente migliori rispetto DateTime.CompareTo(Object) all'overload del metodo, perché non è necessario convertire value il parametro in un oggetto.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.

Vedi anche

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

Confronta il valore di questa istanza con un oggetto specificato contenente un valore DateTime specificato e restituisce un intero che indica se l'istanza è precedente, uguale o successiva al valore DateTime specificato.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

Parametri

value
Object Object Object Object

Oggetto boxed da confrontare o null.A boxed object to compare, or null.

Restituisce

Numero con segno che indica i valori relativi di questa istanza e di value.A signed number indicating the relative values of this instance and value.

ValueValue DescriptionDescription
Minore di zeroLess than zero Questa istanza è precedente al parametro value.This instance is earlier than value.
ZeroZero Questa istanza è uguale al parametro value.This instance is the same as value.
Maggiore di zeroGreater than zero Questa istanza è successiva al parametro value oppure value è null.This instance is later than value, or value is null.

Implementazioni

Eccezioni

Esempi

Nell'esempio seguente viene illustrato CompareTo il metodo.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

Commenti

Per determinare la relazione valuedell'istanza corrente con, il CompareTo metodo confronta la Ticks proprietà dell'istanza corrente e value ignora la relativa Kind proprietà.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. Prima di DateTime confrontare gli oggetti, verificare che gli oggetti rappresentino orari nello stesso fuso orario.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. A tale scopo, è possibile confrontare i valori delle Kind relative proprietà.You can do this by comparing the values of their Kind properties.

Qualsiasi istanza di DateTime, indipendentemente dal valore, è considerata maggiore di. nullAny instance of DateTime, regardless of its value, is considered greater than null.

Vedi anche

Si applica a