DateTime.CompareTo Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 value bir örnektir. |
CompareTo(DateTime)
- Kaynak:
- DateTime.cs
- Kaynak:
- DateTime.cs
- Kaynak:
- DateTime.cs
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 value bir ö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 value
CompareTo 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
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 value
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 , veya değerinden value sonraki 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 value
CompareTo 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 null
olarak kabul edilir.