DateTime.CompareTo Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
| Nama | Deskripsi |
|---|---|
| CompareTo(DateTime) |
Membandingkan nilai instans ini dengan nilai yang ditentukan DateTime dan mengembalikan bilangan bulat yang menunjukkan apakah instans ini lebih awal dari, sama dengan, atau lebih baru dari nilai yang ditentukan DateTime . |
| CompareTo(Object) |
Membandingkan nilai instans ini dengan objek tertentu yang berisi nilai tertentu DateTime , dan mengembalikan bilangan bulat yang menunjukkan apakah instans ini lebih awal dari, sama dengan, atau lebih baru dari nilai yang ditentukan DateTime . |
Keterangan
Dua kelebihan beban CompareTo metode mengembalikan angka yang ditandatangani yang menunjukkan nilai relatif instans ini dan value argumen, seperti yang ditunjukkan dalam tabel berikut.
| Nilai | Deskripsi |
|---|---|
| Kurang dari nol | Instans ini lebih awal dari value. |
| Nol | Instans ini sama valuedengan . |
| Lebih besar dari nol | Instans ini lebih lambat dari value. |
CompareTo(DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- 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
Objek untuk dibandingkan dengan instans saat ini.
Mengembalikan
Angka yang ditandatangani menunjukkan nilai relatif instans ini dan value parameter .
| Nilai | Deskripsi |
|---|---|
| Kurang dari nol | Instans ini lebih awal dari value.
|
| Nol | Instans ini sama valuedengan .
|
| Lebih besar dari nol | Instans ini lebih lambat dari value.
|
Penerapan
Contoh
Contoh berikut membuat instans tiga DateTime objek, satu yang mewakili tanggal hari ini, yang lain yang mewakili tanggal satu tahun sebelumnya, dan sepertiga yang mewakili tanggal satu tahun di masa mendatang. Kemudian memanggil CompareTo(DateTime) metode dan menampilkan hasil perbandingan.
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
Keterangan
Untuk menentukan hubungan instans saat ini dengan value, CompareTo metode membandingkan Ticks properti instans saat ini dan value tetapi mengabaikan propertinya Kind . Sebelum membandingkan DateTime objek, pastikan objek mewakili waktu dalam zona waktu yang sama. Anda dapat melakukan ini dengan membandingkan nilai propertinya Kind .
Metode ini mengimplementasikan System.IComparable<T> antarmuka dan berkinerja sedikit lebih baik daripada DateTime.CompareTo(Object) metode kelebihan beban karena tidak harus mengonversi value parameter menjadi objek.
Lihat juga
Berlaku untuk
CompareTo(Object)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- 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
Objek berkotak untuk dibandingkan, atau null.
Mengembalikan
Nomor yang ditandatangani menunjukkan nilai relatif instans ini dan value.
| Nilai | Deskripsi |
|---|---|
| Kurang dari nol | Instans ini lebih awal dari value.
|
| Nol | Instans ini sama valuedengan .
|
| Lebih besar dari nol | Instans ini lebih lambat dari value, atau value .null
|
Penerapan
Pengecualian
valuebukan .DateTime
Contoh
Contoh berikut menunjukkan CompareTo metode .
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
Keterangan
Untuk menentukan hubungan instans saat ini dengan value, CompareTo metode membandingkan Ticks properti instans saat ini dan value tetapi mengabaikan propertinya Kind . Sebelum membandingkan DateTime objek, pastikan objek mewakili waktu dalam zona waktu yang sama. Anda dapat melakukan ini dengan membandingkan nilai propertinya Kind .
Setiap contoh DateTime, terlepas dari nilainya, dianggap lebih besar dari null.