Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.DateTime
The object to compare to the current instance.
Return Value
Type: System.Int32A signed number indicating the relative values of this instance and the value parameter.
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. |
Implements
IComparable<T>.CompareTo(T)This method implements the System.IComparable<T> interface and performs slightly better than the DateTime.CompareTo(Object) method overload because it does not have to convert the value parameter to an object.
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.
The following example instantiates three DateTime objects, one that represents today's date, another that represents the date one year previously, and a third that represents the date one year in the future. It then calls the CompareTo(DateTime) method and displays the result of the comparison.
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
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.