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

Définition

Compare la valeur de cette instance à une valeur DateTime spécifiée et indique si cette instance est antérieure, identique ou ultérieure à la valeur DateTime spécifiée.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.

Surcharges

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

Compare la valeur de cette instance à une valeur DateTime spécifiée et retourne un entier qui indique si cette instance est antérieure, identique ou ultérieure à la valeur DateTime spécifiée.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)

Compare la valeur de cette instance à un objet spécifié qui contient une valeur DateTime spécifiée, et retourne un entier qui indique si cette instance est antérieure, identique ou ultérieure à la valeur DateTime spécifiée.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.

Remarques

Les deux surcharges de la méthode CompareTo retournent un nombre signé qui indique la valeur relative de cette instance et l’argument value, comme indiqué dans le tableau suivant.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
Inférieure à zéroLess than zero Cette instance est antérieure à value.This instance is earlier than value.
ZéroZero Cette instance est la même que value.This instance is the same as value.
Supérieure à zéroGreater than zero Cette instance est ultérieure à value.This instance is later than value.

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

Compare la valeur de cette instance à une valeur DateTime spécifiée et retourne un entier qui indique si cette instance est antérieure, identique ou ultérieure à la valeur DateTime spécifiée.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

Paramètres

value
DateTime DateTime DateTime DateTime

Objet à comparer avec l'instance actuelle.The object to compare to the current instance.

Retours

Nombre signé indiquant les valeurs relatives de cette instance et du paramètre value.A signed number indicating the relative values of this instance and the value parameter.

ValueValue DescriptionDescription
Inférieure à zéroLess than zero Cette instance est antérieure à value.This instance is earlier than value.
ZéroZero Cette instance est la même que value.This instance is the same as value.
Supérieure à zéroGreater than zero Cette instance est ultérieure à value.This instance is later than value.

Implémente

Exemples

L’exemple suivant instancie trois objets DateTime, un qui représente la date du jour, un autre qui représente la date de l’année précédente et un troisième qui représente la date d’un an.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. Il appelle ensuite la méthode CompareTo(DateTime) et affiche le résultat de la comparaison.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

Remarques

Pour déterminer la relation de l’instance actuelle avec value, la méthode CompareTo compare la propriété Ticks de l’instance actuelle et value, mais ignore leur propriété 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. Avant de comparer des objets DateTime, assurez-vous que les objets représentent des heures dans le même fuseau horaire.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. Pour ce faire, vous pouvez comparer les valeurs de leurs propriétés Kind.You can do this by comparing the values of their Kind properties.

Cette méthode implémente l’interface System.IComparable<T> et s’exécute légèrement mieux que la surcharge de méthode DateTime.CompareTo(Object), car elle n’a pas besoin de convertir le paramètre value en objet.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.

Voir aussi

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

Compare la valeur de cette instance à un objet spécifié qui contient une valeur DateTime spécifiée, et retourne un entier qui indique si cette instance est antérieure, identique ou ultérieure à la valeur DateTime spécifiée.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

Paramètres

value
Object Object Object Object

Objet boxed à comparer ou null.A boxed object to compare, or null.

Retours

Nombre signé indiquant les valeurs relatives de cette instance et value.A signed number indicating the relative values of this instance and value.

ValueValue DescriptionDescription
Inférieure à zéroLess than zero Cette instance est antérieure à value.This instance is earlier than value.
ZéroZero Cette instance est la même que value.This instance is the same as value.
Supérieure à zéroGreater than zero Cette instance est ultérieure à value ou value est null.This instance is later than value, or value is null.

Implémente

Exceptions

Exemples

L’exemple suivant illustre la méthode 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

Remarques

Pour déterminer la relation de l’instance actuelle avec value, la méthode CompareTo compare la propriété Ticks de l’instance actuelle et value, mais ignore leur propriété 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. Avant de comparer des objets DateTime, assurez-vous que les objets représentent des heures dans le même fuseau horaire.Before comparing DateTime objects, make sure that the objects represent times in the same time zone. Pour ce faire, vous pouvez comparer les valeurs de leurs propriétés Kind.You can do this by comparing the values of their Kind properties.

Toute instance de DateTime, quelle que soit sa valeur, est considérée comme supérieure à null.Any instance of DateTime, regardless of its value, is considered greater than null.

Voir aussi

S’applique à