Aracılığıyla paylaş


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 önceki, aynı veya sonraki bir değer olup olmadığını gösterir.

Aşırı Yüklemeler

Name Description
CompareTo(DateTime)

Bu örneğin değerini belirtilen değerle karşılaştırır ve bu örneğin belirtilen DateTimeDateTime değerden önceki, aynı veya sonraki bir değer olup olmadığını gösteren 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 önceki, aynı veya sonraki DateTime bir değer olup olmadığını 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 ve bağımsız değişkenin value göreli değerini 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
Kaynak:
DateTime.cs
Kaynak:
DateTime.cs

Bu örneğin değerini belirtilen değerle karşılaştırır ve bu örneğin belirtilen DateTimeDateTime değerden önceki, aynı veya sonraki bir değer olup olmadığını gösteren 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, biri bugünün tarihini, diğeri bir yıl önceki tarihi ve bir yıl sonraki tarihi temsil eden üçüncü bir nesnenin örneğini DateTime oluşturur. 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 aynı saat dilimindeki saatleri gösterdiğinden emin olun. Bunu, özelliklerinin Kind değerlerini 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
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 önceki, aynı veya sonraki DateTime bir değer olup olmadığını 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 sonraki valuebir örnektirnull.value

Uygulamalar

Özel durumlar

value bir DateTimedeğildir.

Örnekler

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

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 aynı saat dilimindeki saatleri gösterdiğinden emin olun. Bunu, özelliklerinin Kind değerlerini karşılaştırarak yapabilirsiniz.

DateTimeherhangi bir örneği, değerinden bağımsız olarak nulldeğerinden büyük kabul edilir.

Ayrıca bkz.

Şunlara uygulanır