DateTimeOffset.CompareTo Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Compares the current DateTimeOffset object to a specified DateTimeOffset object and indicates whether the current object is earlier than, the same as, or later than the second DateTimeOffset object.

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

Syntax

'Declaration
Public Function CompareTo ( _
    other As DateTimeOffset _
) As Integer
public int CompareTo(
    DateTimeOffset other
)

Parameters

Return Value

Type: System.Int32
A signed integer that indicates the relationship between the current DateTimeOffset object and other, as the following table shows.

Return value

Description

Less than zero

The current DateTimeOffset object is earlier than other.

Zero

The current DateTimeOffset object is the same as other.

Greater than zero.

The current DateTimeOffset object is later than other.

Implements

IComparable<T>.CompareTo(T)

Remarks

This method compares DateTimeOffset objects by comparing their UtcDateTime values; that is, it determines whether the two objects represent a single point in time, and indicates whether the current object is earlier than, later than, or the same as the other parameter.

Examples

The following example illustrates calls to the CompareTo method to compare DateTimeOffset objects.

Module Example
   Private Enum TimeComparison As Integer
      Earlier = -1
      Same = 0
      Later = 1
   End Enum

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim firstTime As New DateTimeOffset(#9/1/2007 6:45:00 AM#, _
                       New TimeSpan(-7, 0, 0))

      Dim secondTime As DateTimeOffset = firstTime
      outputBlock.Text += String.Format("Comparing {0} and {1}: {2}", _
                        firstTime, secondTime, _
                        CType(firstTime.CompareTo(secondTime),  _
                              TimeComparison)) + vbCrLf

      secondTime = New DateTimeOffset(#9/1/2007 6:45:00 AM#, _
                       New TimeSpan(-6, 0, 0))
      outputBlock.Text += String.Format("Comparing {0} and {1}: {2}", _
                       firstTime, secondTime, _
                       CType(firstTime.CompareTo(secondTime),  _
                             TimeComparison)) + vbCrLf

      secondTime = New DateTimeOffset(#9/1/2007 8:45:00 AM#, _
                       New TimeSpan(-5, 0, 0))
      outputBlock.Text += String.Format("Comparing {0} and {1}: {2}", _
                       firstTime, secondTime, _
                       CType(firstTime.CompareTo(secondTime),  _
                             TimeComparison)) + vbCrLf
      ' The example displays the following output:
      '       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -07:00: Same
      '       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -06:00: Later
      '       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 8:45:00 AM -05:00: Same      
   End Sub
End Module
using System;

public class Example
{
   private enum TimeComparison
   {
      Earlier = -1,
      Same = 0,
      Later = 1
   };

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      DateTimeOffset firstTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                                 new TimeSpan(-7, 0, 0));

      DateTimeOffset secondTime = firstTime;
      outputBlock.Text += String.Format("Comparing {0} and {1}: {2}",
                        firstTime, secondTime,
                        (TimeComparison)firstTime.CompareTo(secondTime)) + "\n";

      secondTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                       new TimeSpan(-6, 0, 0));
      outputBlock.Text += String.Format("Comparing {0} and {1}: {2}",
                       firstTime, secondTime,
                       (TimeComparison)firstTime.CompareTo(secondTime)) + "\n";

      secondTime = new DateTimeOffset(2007, 9, 1, 8, 45, 0,
                       new TimeSpan(-5, 0, 0));
      outputBlock.Text += String.Format("Comparing {0} and {1}: {2}",
                       firstTime, secondTime,
                       (TimeComparison)firstTime.CompareTo(secondTime)) + "\n";
      // The example displays the following output:
      //       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -07:00: Same
      //       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -06:00: Later
      //       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 8:45:00 AM -05:00: Same         
   }
}

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.