DateTime.Compare(DateTime, DateTime) Method


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.

 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



The first object to compare.


The second object to compare.


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.



The C# examples in this article run in the Try.NET inline code runner and playground. Select the Run button to run an example in an interactive window. Once you execute the code, you can modify it and run the modified code by selecting Run again. The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

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";         
   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
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"         
         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


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