DateTime.CompareTo Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
CompareTo(DateTime) |
Vergleicht den Wert dieser Instanz mit einem angegebenen DateTime-Wert und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht. |
CompareTo(Object) |
Vergleicht den Wert dieser Instanz mit einem angegebenen Objekt, das einen angegebenen DateTime-Wert enthält, und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht. |
Hinweise
Die beiden Überladungen der CompareTo -Methode geben eine signierte Zahl zurück, die den relativen Wert dieser Instanz und das value
Argument angibt, wie in der folgenden Tabelle gezeigt.
Wert | BESCHREIBUNG |
---|---|
Kleiner als 0 (null) | Diese Instanz liegt vor value . |
Zero | Diese Instanz entspricht value . |
Größer als 0 (null) | Diese Instanz liegt nach value . |
CompareTo(DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- 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
Parameter
- value
- DateTime
Das Objekt, das mit der aktuellen Instanz verglichen werden soll.
Gibt zurück
Eine Zahl mit Vorzeichen, die das Verhältnis zwischen dem Wert dieser Instanz und dem Wert des value
-Parameters angibt.
Wert | BESCHREIBUNG |
---|---|
Kleiner als 0 (null) | Diese Instanz liegt vor value .
|
Zero | Diese Instanz entspricht value .
|
Größer als 0 (null) | Diese Instanz liegt nach value .
|
Implementiert
Beispiele
Im folgenden Beispiel werden drei DateTime Objekte instanziiert: eines, das das heutige Datum darstellt, ein weiteres, das das Datum vor einem Jahr darstellt, und ein drittes, das das Datum eines Jahres in der Zukunft darstellt. Anschließend wird die CompareTo(DateTime) -Methode aufgerufen und das Ergebnis des Vergleichs angezeigt.
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
Hinweise
Um die Beziehung der aktuellen Instanz zu zu value
zu bestimmen, vergleicht die CompareTo -Methode die Ticks -Eigenschaft der aktuellen Instanz und value
ignoriert deren Kind Eigenschaft. Stellen Sie vor dem Vergleichen DateTime von Objekten sicher, dass die Objekte Zeiten in derselben Zeitzone darstellen. Dazu können Sie die Werte ihrer Kind Eigenschaften vergleichen.
Diese Methode implementiert die System.IComparable<T> -Schnittstelle und bietet eine etwas bessere Leistung als die DateTime.CompareTo(Object) Methodenüberladung, da sie den value
Parameter nicht in ein -Objekt konvertieren muss.
Weitere Informationen
Gilt für:
CompareTo(Object)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- 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
Parameter
- value
- Object
Ein zu vergleichendes geschachteltes Objekt oder null
.
Gibt zurück
Eine Zahl mit Vorzeichen, die das Verhältnis zwischen dem Wert dieser Instanz und value
angibt.
Wert | BESCHREIBUNG |
---|---|
Kleiner als 0 (null) | Diese Instanz liegt vor value .
|
Zero | Diese Instanz entspricht value .
|
Größer als 0 (null) | Diese Instanz liegt nach value , oder value ist null .
|
Implementiert
Ausnahmen
value
ist keine DateTime.
Beispiele
Das folgende Beispiel veranschaulicht die CompareTo Methode.
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
Hinweise
Um die Beziehung der aktuellen Instanz zu zu value
zu bestimmen, vergleicht die CompareTo -Methode die Ticks -Eigenschaft der aktuellen Instanz und value
ignoriert deren Kind Eigenschaft. Stellen Sie vor dem Vergleichen DateTime von Objekten sicher, dass die Objekte Zeiten in derselben Zeitzone darstellen. Dazu können Sie die Werte ihrer Kind Eigenschaften vergleichen.
Jede Instanz von DateTimegilt unabhängig von ihrem Wert als größer als null
.