DateTime.CompareTo Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| CompareTo(DateTime) |
Porovná hodnotu této instance se zadanou DateTime hodnotou a vrátí celé číslo, které určuje, zda je tato instance dřívější než, stejná nebo pozdější než zadaná DateTime hodnota. |
| CompareTo(Object) |
Porovná hodnotu této instance se zadaným objektem, který obsahuje zadanou DateTime hodnotu, a vrátí celé číslo, které určuje, zda je tato instance dřívější, stejná nebo pozdější než zadaná DateTime hodnota. |
Poznámky
Dvě přetížení CompareTo metody vrátí číslo se znaménkem, které označuje relativní hodnotu této instance a value argument, jak je znázorněno v následující tabulce.
| Hodnota | Description |
|---|---|
| Menší než nula | Tato instance je starší než value. |
| Nula | Tato instance je stejná jako value. |
| Větší než nula | Tato instance je pozdější než value. |
CompareTo(DateTime)
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- 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
Parametry
- value
- DateTime
Objekt, který se má porovnat s aktuální instancí.
Návraty
Číslo se znaménkem označujícím relativní hodnoty této instance a parametru value .
| Hodnota | Popis |
|---|---|
| Menší než nula | Tato instance je starší než value.
|
| Nula | Tato instance je stejná jako value.
|
| Větší než nula | Tato instance je pozdější než value.
|
Implementuje
Příklady
Následující příklad vytvoří instanci tří DateTime objektů, jeden, který představuje dnešní datum, druhý, který představuje datum předchozího roku, a třetí, který představuje datum jednoho roku v budoucnosti. Potom zavolá metodu CompareTo(DateTime) a zobrazí výsledek porovnání.
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
Poznámky
Chcete-li určit vztah aktuální instance valuek , CompareTo metoda porovnává Ticks vlastnost aktuální instance a value ale ignoruje jejich Kind vlastnost. Před porovnáním DateTime objektů se ujistěte, že objekty představují časy ve stejném časovém pásmu. Můžete to provést porovnáním hodnot jejich Kind vlastností.
Tato metoda implementuje System.IComparable<T> rozhraní a provádí mírně lépe než DateTime.CompareTo(Object) přetížení metody, protože nemusí převést value parametr na objekt.
Viz také
Platí pro
CompareTo(Object)
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- 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
Parametry
- value
- Object
Krabicový objekt, který chcete porovnat, nebo null.
Návraty
Číslo se znaménkem označujícím relativní hodnoty této instance a value.
| Hodnota | Popis |
|---|---|
| Menší než nula | Tato instance je starší než value.
|
| Nula | Tato instance je stejná jako value.
|
| Větší než nula | Tato instance je pozdější než value, nebo value je null.
|
Implementuje
Výjimky
valuenení .DateTime
Příklady
Následující příklad ukazuje metodu 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
Poznámky
Chcete-li určit vztah aktuální instance valuek , CompareTo metoda porovnává Ticks vlastnost aktuální instance a value ale ignoruje jejich Kind vlastnost. Před porovnáním DateTime objektů se ujistěte, že objekty představují časy ve stejném časovém pásmu. Můžete to provést porovnáním hodnot jejich Kind vlastností.
Jakákoli instance DateTime, bez ohledu na jeho hodnotu, je považována za větší než null.