Lire en anglais

Partager via


DateTime.CompareTo Méthode

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.

Surcharges

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.

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.

Remarques

Les deux surcharges de la CompareTo méthode retournent un nombre signé qui indique la valeur relative de cette instance et l’argument value , comme indiqué dans le tableau suivant.

Valeur Description
Inférieure à zéro Cette instance est antérieure à value.
Zéro Cette instance est la même que value.
Supérieure à zéro Cette instance est ultérieure à value.

CompareTo(DateTime)

Source:
DateTime.cs
Source:
DateTime.cs
Source:
DateTime.cs

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.

C#
public int CompareTo(DateTime value);

Paramètres

value
DateTime

Objet à comparer avec l'instance actuelle.

Retours

Nombre signé indiquant les valeurs relatives de cette instance et du paramètre value.

Valeur Description
Inférieure à zéro Cette instance est antérieure à value.
Zéro Cette instance est la même que value.
Supérieure à zéro Cette instance est ultérieure à value.

Implémente

Exemples

L’exemple suivant instancie trois DateTime objets, un qui représente la date d’aujourd’hui, un autre qui représente la date d’un an auparavant et un troisième qui représente la date d’un an dans le futur. Il appelle ensuite la CompareTo(DateTime) méthode et affiche le résultat de la comparaison.

C#
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

Remarques

Pour déterminer la relation de l’instance actuelle à value, la CompareTo méthode compare la Ticks propriété de l’instance actuelle et value ignore sa Kind propriété. Avant de comparer des DateTime objets, assurez-vous que les objets représentent des heures dans le même fuseau horaire. Pour ce faire, comparez les valeurs de leurs Kind propriétés.

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

Voir aussi

S’applique à

.NET 10 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CompareTo(Object)

Source:
DateTime.cs
Source:
DateTime.cs
Source:
DateTime.cs

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.

C#
public int CompareTo(object? value);
C#
public int CompareTo(object value);

Paramètres

value
Object

Objet boxed à comparer ou null.

Retours

Nombre signé indiquant les valeurs relatives de cette instance et value.

Valeur Description
Inférieure à zéro Cette instance est antérieure à value.
Zéro Cette instance est la même que value.
Supérieure à zéro Cette instance est ultérieure à value ou value est null.

Implémente

Exceptions

value n’est pas un DateTime.

Exemples

L’exemple suivant illustre la CompareTo méthode.

C#
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);

Remarques

Pour déterminer la relation de l’instance actuelle à value, la CompareTo méthode compare la Ticks propriété de l’instance actuelle et value ignore sa Kind propriété. Avant de comparer des DateTime objets, assurez-vous que les objets représentent des heures dans le même fuseau horaire. Pour ce faire, comparez les valeurs de leurs Kind propriétés.

Toute instance de DateTime, quelle que soit sa valeur, est considérée comme supérieure à null.

Voir aussi

S’applique à

.NET 10 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1