.NET Framework Class Library
DateTime..::.Compare Method

Updated: April 2009

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.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic (Declaration)
Public Shared Function Compare ( _
    t1 As DateTime, _
    t2 As DateTime _
) As Integer
Visual Basic (Usage)
Dim t1 As DateTime
Dim t2 As DateTime
Dim returnValue As Integer

returnValue = DateTime.Compare(t1, t2)
C#
public static int Compare(
    DateTime t1,
    DateTime t2
)
Visual C++
public:
static int Compare(
    DateTime t1, 
    DateTime t2
)
JScript
public static function Compare(
    t1 : DateTime, 
    t2 : DateTime
) : int

Parameters

t1
Type: System..::.DateTime
The first DateTime.
t2
Type: System..::.DateTime
The second DateTime.

Return Value

Type: System..::.Int32
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.

Remarks

Before comparing DateTime objects, insure that the objects represent times in the same time zone.

Examples

The following example demonstrates the Compare method.

Visual Basic
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)
' The example displays the following output:
'    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
C#
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:
//    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
See Also

Reference

Change History

Date

History

Reason

April 2009

Replaced the example.

Customer feedback.

Tags :


Community Content

YPG
RE: How do I achieve "greater than or equal to" comparison?
So to achieve "greater than or equal to" comparison between two datetime values, should I use the code below?

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

if (result >= 0)
{
// date1 is greater than or equal to date2
}


Tags :

Page view tracker