DateTime.CompareTo Yöntem

Tanım

Bu örneğin değerini belirtilen DateTime değerle karşılaştırır ve bu örneğin belirtilen DateTime değerden önce mi, ile aynı mı yoksa daha mı geç olduğunu gösterir.

Aşırı Yüklemeler

CompareTo(DateTime)

Bu örneğin değerini belirtilen bir değerle karşılaştırır ve bu örneğin belirtilen DateTimeDateTime değerden önce mi, ile aynı mı yoksa daha sonra mı olduğunu belirten bir tamsayı döndürür.

CompareTo(Object)

Bu örneğin değerini, belirtilen değeri içeren belirtilen bir nesneyle karşılaştırır ve bu örneğin belirtilen DateTime değerden önce mi, ile aynı mı yoksa daha DateTime geç mi olduğunu belirten bir tamsayı döndürür.

Açıklamalar

yönteminin CompareTo iki aşırı yüklemesi, aşağıdaki tabloda gösterildiği gibi bu örneğin göreli değerini ve value bağımsız değişkeni gösteren imzalı bir sayı döndürür.

Değer Açıklama
Sıfırdan küçük Bu örnek değerinden valueönceki bir örnektir.
Sıfır Bu örnek ile aynıdır value.
Sıfırdan büyük Bu örnek değerinden sonraki valuebir örnektir.

CompareTo(DateTime)

Kaynak:
DateTime.cs
Kaynak:
DateTime.cs
Kaynak:
DateTime.cs

Bu örneğin değerini belirtilen bir değerle karşılaştırır ve bu örneğin belirtilen DateTimeDateTime değerden önce mi, ile aynı mı yoksa daha sonra mı olduğunu belirten bir tamsayı döndürür.

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

Parametreler

value
DateTime

Geçerli örnekle karşılaştıracak nesne.

Döndürülenler

Bu örneğin ve value parametresinin göreli değerlerini gösteren imzalı bir sayı.

Değer Açıklama
Sıfırdan küçük Bu örnek değerinden valueönceki bir örnektir.
Sıfır Bu örnek ile aynıdır value.
Sıfırdan büyük Bu örnek değerinden sonraki valuebir örnektir.

Uygulamalar

Örnekler

Aşağıdaki örnek üç nesnenin örneğini DateTime oluşturur: biri bugünün tarihini, diğeri bir yıl önceki tarihi, üçüncüsü ise gelecekteki bir yılı temsil eder. Ardından yöntemini çağırır CompareTo(DateTime) ve karşılaştırmanın sonucunu görüntüler.

open System

type DateComparisonResult =
    | Earlier = -1
    | Later = 1
    | TheSame = 0

[<EntryPoint>]
let main _ =
    let thisDate = DateTime.Today

    // Define two DateTime objects for today's date next year and last year		
    // Call AddYears instance method to add/substract 1 year
    let thisDateNextYear = thisDate.AddYears 1
    let thisDateLastYear = thisDate.AddYears -1

    // Compare today to last year
    let comparison = thisDate.CompareTo thisDateLastYear |> enum<DateComparisonResult>
    printfn $"CompareTo method returns {int comparison}: {thisDate:d} is {comparison.ToString().ToLower()} than {thisDateLastYear:d}"

    // Compare today to next year
    let comparison = thisDate.CompareTo thisDateNextYear |> enum<DateComparisonResult>
    printfn $"CompareTo method returns {int comparison}: {thisDate:d} is {comparison.ToString().ToLower()} than {thisDateNextYear:d}"
                        
    0

// If run on December 31, 2021, the example produces the following output:
//    CompareTo method returns 1: 12/31/2021 is later than 12/31/2020
//    CompareTo method returns -1: 12/31/2021 is earlier than 12/31/2022
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

Açıklamalar

Yöntemi, geçerli örneğin ile ilişkisini belirlemek için valueCompareTo geçerli örneğin özelliğini karşılaştırır Ticks ve value ancak bunların Kind özelliğini yoksayar. Nesneleri karşılaştırmadan DateTime önce, nesnelerin saatleri aynı saat diliminde gösterdiğinden emin olun. Bunu, özelliklerinin değerlerini Kind karşılaştırarak yapabilirsiniz.

Bu yöntem arabirimini uygular ve parametresini System.IComparable<T> bir nesneye dönüştürmesi gerekmediğinden yöntem aşırı yüklemesinden DateTime.CompareTo(Object)value biraz daha iyi performans gösterir.

Ayrıca bkz.

Şunlara uygulanır

CompareTo(Object)

Kaynak:
DateTime.cs
Kaynak:
DateTime.cs
Kaynak:
DateTime.cs

Bu örneğin değerini, belirtilen değeri içeren belirtilen bir nesneyle karşılaştırır ve bu örneğin belirtilen DateTime değerden önce mi, ile aynı mı yoksa daha DateTime geç mi olduğunu belirten bir tamsayı döndürür.

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

Parametreler

value
Object

Karşılaştırılan kutulu nesne veya null.

Döndürülenler

Ve bu örneğin valuegöreli değerlerini gösteren imzalı bir sayı.

Değer Açıklama
Sıfırdan küçük Bu örnek değerinden valueönceki bir örnektir.
Sıfır Bu örnek ile aynıdır value.
Sıfırdan büyük Bu örnek , veya değerinden valuesonraki bir örnektirnull.value

Uygulamalar

Özel durumlar

value bir DateTimedeğildir.

Örnekler

Aşağıdaki örnekte yöntemi gösterilmektedir CompareTo .

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 );
   }
}
open System

let theDay = DateTime(DateTime.Today.Year, 7, 28)

try
    let compareValue = theDay.CompareTo DateTime.Today

    if compareValue < 0 then
        printfn $"{theDay:d} is in the past."
    elif compareValue = 0 then
        printfn $"{theDay:d} is today!"
    else // compareValue > 0
        printfn $"{theDay:d} has not come yet."
        
with :? ArgumentException ->
    Console.WriteLine("Value is not a DateTime");
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

Açıklamalar

Yöntemi, geçerli örneğin ile ilişkisini belirlemek için valueCompareTo geçerli örneğin özelliğini karşılaştırır Ticks ve value ancak bunların Kind özelliğini yoksayar. Nesneleri karşılaştırmadan DateTime önce, nesnelerin saatleri aynı saat diliminde gösterdiğinden emin olun. Bunu, özelliklerinin değerlerini Kind karşılaştırarak yapabilirsiniz.

değerinden DateTimebağımsız olarak herhangi bir örneği değerinden büyük nullolarak kabul edilir.

Ayrıca bkz.

Şunlara uygulanır