Bagikan melalui


DateTime.CompareTo Metode

Definisi

Membandingkan nilai instans ini dengan nilai yang ditentukan DateTime dan menunjukkan apakah instans ini lebih awal dari, sama dengan, atau lebih baru dari nilai yang ditentukan DateTime .

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

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 .

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

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 .

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

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.

Lihat juga

Berlaku untuk