Edit

Share via


DateTime.Compare(DateTime, DateTime) Method

Definition

Compares two instances of DateTime and returns an integer that indicates whether the first instance is earlier than, the same as, or later than the second instance.

public:
 static int Compare(DateTime t1, DateTime t2);
public static int Compare (DateTime t1, DateTime t2);
static member Compare : DateTime * DateTime -> int
Public Shared Function Compare (t1 As DateTime, t2 As DateTime) As Integer

Parameters

t1
DateTime

The first object to compare.

t2
DateTime

The second object to compare.

Returns

A signed number indicating the relative values of t1 and t2.

Value Type Condition
Less than zero t1 is earlier than t2.
Zero t1 is the same as t2.
Greater than zero t1 is later than t2.

Examples

The following example demonstrates the Compare method.

DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";
else
   relationship = "is later than";

Console.WriteLine("{0} {1} {2}", date1, relationship, date2);

// The example displays the following output for en-us culture:
//    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
let date1 = DateTime(2009, 8, 1, 0, 0, 0)
let date2 = DateTime(2009, 8, 1, 12, 0, 0)
let result = DateTime.Compare(date1, date2)

let relationship =
    if result < 0 then
        "is earlier than"
    elif result = 0 then
        "is the same time as"
    else
        "is later than"

printfn $"{date1} {relationship} {date2}"

// The example displays the following output for en-us culture:
//    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
Module Example
   Public Sub Main()
      Dim date1 As Date = #08/01/2009 12:00AM#
      Dim date2 As Date = #08/01/2009 12:00PM#
      Dim result As Integer = DateTime.Compare(date1, date2)
      Dim relationship As String
      
      If result < 0 Then
         relationship = "is earlier than"
      ElseIf result = 0 Then
         relationship = "is the same time as"         
      Else
         relationship = "is later than"
      End If
      
      Console.WriteLine("{0} {1} {2}", date1, relationship, date2)
   End Sub
End Module
' The example displays the following output:
'    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM

Remarks

To determine the relationship of t1 to t2, the Compare method compares the Ticks property of t1 and t2 but ignores their Kind property. Before comparing DateTime objects, ensure that the objects represent times in the same time zone.

Applies to

See also