TimeSpan.Compare Method

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

Compares two TimeSpan values and returns an integer that indicates whether the first time interval is longer than, equal to, or shorter than the second time interval.

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

Syntax

'Declaration
Public Shared Function Compare ( _
    t1 As TimeSpan, _
    t2 As TimeSpan _
) As Integer
public static int Compare(
    TimeSpan t1,
    TimeSpan t2
)

Parameters

Return Value

Type: System.Int32
One of the values in the following table.

Value

Description

-1

t1 is shorter than t2

0

t1 is equal to t2

1

t1 is longer than t2

Examples

The following code example compares several TimeSpan objects to a reference TimeSpan using the Compare method.

' Example of the TimeSpan.Compare( TimeSpan, TimeSpan ) and 
' TimeSpan.Equals( TimeSpan, TimeSpan ) methods.

Module Example

   Const dataFmt As String = "{0,-38}{1}"

   ' Compare TimeSpan parameters, and display them with the results.
   Sub CompareTimeSpans(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal Left As TimeSpan, ByVal Right As TimeSpan, _
       ByVal RightText As String)

      outputBlock.Text &= vbCrLf
      outputBlock.Text &= String.Format(dataFmt, "Right: " & RightText, Right) & vbCrLf
      outputBlock.Text &= String.Format(dataFmt, "TimeSpan.Equals( Left, Right ) & vbCrLf", _
          TimeSpan.Equals(Left, Right))
      outputBlock.Text &= String.Format(dataFmt, _
          "TimeSpan.Compare( Left, Right )", _
          TimeSpan.Compare(Left, Right)) & vbCrLf
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim Left As New TimeSpan(2, 0, 0)

      outputBlock.Text &= _
          "This example of the TimeSpan.Equals( TimeSpan, " & _
          "TimeSpan ) and " & vbCrLf & "TimeSpan.Compare( " & _
          "TimeSpan, TimeSpan ) methods generates the " & vbCrLf & _
          "following output by creating several " & _
          "different TimeSpan " & vbCrLf & "objects and " & _
          "comparing them with a 2-hour TimeSpan." & vbCrLf & vbCrLf
      outputBlock.Text &= String.Format(dataFmt, "Left: TimeSpan( 2, 0, 0 )", Left) & vbCrLf

      ' Create objects to compare with a 2-hour TimeSpan.
      CompareTimeSpans(outputBlock, Left, New TimeSpan(0, 120, 0), _
          "TimeSpan( 0, 120, 0 )")
      CompareTimeSpans(outputBlock, Left, New TimeSpan(2, 0, 1), _
          "TimeSpan( 2, 0, 1 )")
      CompareTimeSpans(outputBlock, Left, New TimeSpan(2, 0, -1), _
          "TimeSpan( 2, 0, -1 )")
      CompareTimeSpans(outputBlock, Left, New TimeSpan(72000000000), _
          "TimeSpan( 72000000000 )")
      CompareTimeSpans(outputBlock, Left, TimeSpan.FromDays(1.0 / 12.0R), _
          "TimeSpan.FromDays( 1 / 12 )")
   End Sub
End Module

' This example of the TimeSpan.Equals( TimeSpan, TimeSpan ) and
' TimeSpan.Compare( TimeSpan, TimeSpan ) methods generates the
' following output by creating several different TimeSpan
' objects and comparing them with a 2-hour TimeSpan.
' 
' Left: TimeSpan( 2, 0, 0 )             02:00:00
' 
' Right: TimeSpan( 0, 120, 0 )          02:00:00
' TimeSpan.Equals( Left, Right )        True
' TimeSpan.Compare( Left, Right )       0
' 
' Right: TimeSpan( 2, 0, 1 )            02:00:01
' TimeSpan.Equals( Left, Right )        False
' TimeSpan.Compare( Left, Right )       -1
' 
' Right: TimeSpan( 2, 0, -1 )           01:59:59
' TimeSpan.Equals( Left, Right )        False
' TimeSpan.Compare( Left, Right )       1
' 
' Right: TimeSpan( 72000000000 )        02:00:00
' TimeSpan.Equals( Left, Right )        True
' TimeSpan.Compare( Left, Right )       0
' 
' Right: TimeSpan.FromDays( 1 / 12 )    02:00:00
' TimeSpan.Equals( Left, Right )        True
' TimeSpan.Compare( Left, Right )       0
// Example of the TimeSpan.Compare( TimeSpan, TimeSpan ) and 
// TimeSpan.Equals( TimeSpan, TimeSpan ) methods.
using System;

class Example
{
   const string dataFmt = "{0,-38}{1}";

   // Compare TimeSpan parameters, and display them with the results.
   static void CompareTimeSpans(System.Windows.Controls.TextBlock outputBlock, TimeSpan Left, TimeSpan Right,
       string RightText)
   {
      outputBlock.Text += "\n";
      outputBlock.Text += String.Format(dataFmt, "Right: " + RightText, Right) + "\n";
      outputBlock.Text += String.Format(dataFmt, "TimeSpan.Equals( Left, Right )",
          TimeSpan.Equals(Left, Right)) + "\n";
      outputBlock.Text += String.Format(dataFmt,
          "TimeSpan.Compare( Left, Right )",
          TimeSpan.Compare(Left, Right)) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      TimeSpan Left = new TimeSpan(2, 0, 0);

      outputBlock.Text += 
          "This example of the TimeSpan.Equals( TimeSpan, Time" +
          "Span ) and \nTimeSpan.Compare( TimeSpan, TimeSpan ) " +
          "methods generates the \nfollowing output by creating " +
          "several different TimeSpan \nobjects and comparing " +
          "them with a 2-hour TimeSpan.\n" + "\n";
      outputBlock.Text += String.Format(dataFmt, "Left: TimeSpan( 2, 0, 0 )",
          Left) + "\n";

      // Create objects to compare with a 2-hour TimeSpan.
      CompareTimeSpans(outputBlock, Left, new TimeSpan(0, 120, 0),
          "TimeSpan( 0, 120, 0 )");
      CompareTimeSpans(outputBlock, Left, new TimeSpan(2, 0, 1),
          "TimeSpan( 2, 0, 1 )");
      CompareTimeSpans(outputBlock, Left, new TimeSpan(2, 0, -1),
          "TimeSpan( 2, 0, -1 )");
      CompareTimeSpans(outputBlock, Left, new TimeSpan(72000000000),
          "TimeSpan( 72000000000 )");
      CompareTimeSpans(outputBlock, Left, TimeSpan.FromDays(1.0 / 12D),
          "TimeSpan.FromDays( 1 / 12 )");
   }
}

/*
This example of the TimeSpan.Equals( TimeSpan, TimeSpan ) and
TimeSpan.Compare( TimeSpan, TimeSpan ) methods generates the
following output by creating several different TimeSpan
objects and comparing them with a 2-hour TimeSpan.

Left: TimeSpan( 2, 0, 0 )             02:00:00

Right: TimeSpan( 0, 120, 0 )          02:00:00
TimeSpan.Equals( Left, Right )        True
TimeSpan.Compare( Left, Right )       0

Right: TimeSpan( 2, 0, 1 )            02:00:01
TimeSpan.Equals( Left, Right )        False
TimeSpan.Compare( Left, Right )       -1

Right: TimeSpan( 2, 0, -1 )           01:59:59
TimeSpan.Equals( Left, Right )        False
TimeSpan.Compare( Left, Right )       1

Right: TimeSpan( 72000000000 )        02:00:00
TimeSpan.Equals( Left, Right )        True
TimeSpan.Compare( Left, Right )       0

Right: TimeSpan.FromDays( 1 / 12 )    02:00:00
TimeSpan.Equals( Left, Right )        True
TimeSpan.Compare( Left, Right )       0
*/

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.