DateTime.CompareTo Method (Object)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Compares the value of this instance to a specified object that contains a specified DateTime value, and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
Public Function CompareTo ( _
value As Object _
) As Integer
public int CompareTo(
Object value
)
Parameters
- value
Type: System..::.Object
The object to compare to this instance, or nullNothingnullptra null reference (Nothing in Visual Basic).
Return Value
Type: System..::.Int32
A signed integer that indicates the relationship between this instance and the value parameter, as shown in the following table.
Value |
Description |
---|---|
Less than zero |
This instance is earlier than value. |
Zero |
This instance is the same as value. |
Greater than zero |
This instance is later than value, or value is nullNothingnullptra null reference (Nothing in Visual Basic). |
Implements
IComparable..::.CompareTo(Object)
Exceptions
Exception | Condition |
---|---|
ArgumentException | value is not a DateTime. |
Remarks
Before comparing DateTime objects, make sure that the objects represent times in the same time zone. You can do this by comparing the values of their Kind properties.
Any instance of DateTime, regardless of its value, is considered greater than nullNothingnullptra null reference (Nothing in Visual Basic).
Examples
The following example demonstrates the CompareTo method.
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
outputBlock.Text += "Value is not a DateTime" + vbCrLf
End Try
If compareValue < 0 Then
outputBlock.Text += String.Format("{0:d} is in the past.", thDay) + vbCrLf
ElseIf compareValue = 0 Then
outputBlock.Text += String.Format("{0:d} is today!", thDay) + vbCrLf
Else ' compareValue >= 1
outputBlock.Text += String.Format("{0:d} has not come yet.", thDay) + vbCrLf
End If
System.DateTime theDay = new System.DateTime(System.DateTime.Today.Year, 7, 28);
int compareValue;
try
{
compareValue = theDay.CompareTo(DateTime.Today);
}
catch (ArgumentException)
{
outputBlock.Text += "Value is not a DateTime" + "\n";
return;
}
if (compareValue < 0)
outputBlock.Text += String.Format("{0:d} is in the past.", theDay) + "\n";
else if (compareValue == 0)
outputBlock.Text += String.Format("{0:d} is today!", theDay) + "\n";
else // compareValue > 0
outputBlock.Text += String.Format("{0:d} has not come yet.", theDay) + "\n";
Version Information
Windows Phone OS
Supported in: 8.1, 8.0, 7.1, 7.0
Platforms
Windows Phone