TimeSpan.Compare(TimeSpan, TimeSpan) Method

Definition

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

public:
 static int Compare(TimeSpan t1, TimeSpan t2);
public static int Compare (TimeSpan t1, TimeSpan t2);
static member Compare : TimeSpan * TimeSpan -> int
Public Shared Function Compare (t1 As TimeSpan, t2 As TimeSpan) As Integer

Parameters

t1
TimeSpan

The first time interval to compare.

t2
TimeSpan

The second time interval to compare.

Returns

One of the following values.

Value Description
-1 t1 is shorter than t2.
0 t1 is equal to t2.
1 t1 is longer than t2.

Examples

The following example uses the Compare method to compare several TimeSpan objects with a TimeSpan object whose value is a 2-hour time interval.

// Define a time interval equal to two hours.
TimeSpan baseInterval = new TimeSpan( 2, 0, 0);

// Define an array of time intervals to compare with
// the base interval.
TimeSpan[] spans = { 
    TimeSpan.FromSeconds(-2.5),
    TimeSpan.FromMinutes(20),
    TimeSpan.FromHours(1), 
    TimeSpan.FromMinutes(90),
    baseInterval,  
    TimeSpan.FromDays(.5), 
    TimeSpan.FromDays(1) 
};

// Compare the time intervals.
foreach (var span in spans) {
   int result = TimeSpan.Compare(baseInterval, span);
   Console.WriteLine("{0} {1} {2} (Compare returns {3})", 
                     baseInterval,
                     result == 1 ? ">" : result == 0 ? "=" : "<",
                     span, result);     
}

// The example displays the following output:
//       02:00:00 > -00:00:02.5000000 (Compare returns 1)
//       02:00:00 > 00:20:00 (Compare returns 1)
//       02:00:00 > 01:00:00 (Compare returns 1)
//       02:00:00 > 01:30:00 (Compare returns 1)
//       02:00:00 = 02:00:00 (Compare returns 0)
//       02:00:00 < 12:00:00 (Compare returns -1)
//       02:00:00 < 1.00:00:00 (Compare returns -1)
open System

// Define a time interval equal to two hours.
let baseInterval = TimeSpan(2, 0, 0)

// Define a list of time intervals to compare with
// the base interval.
let spans = 
    [ TimeSpan.FromSeconds -2.5
      TimeSpan.FromMinutes 20
      TimeSpan.FromHours 1 
      TimeSpan.FromMinutes 90
      baseInterval
      TimeSpan.FromDays 0.5 
      TimeSpan.FromDays 1 ]

// Compare the time intervals.
for span in spans do
    let result = TimeSpan.Compare(baseInterval, span)
    printfn $"""{baseInterval} {if result = 1 then ">" elif result = 0 then "=" else "<"} {span} (Compare returns {result})""" 

// The example displays the following output:
//       02:00:00 > -00:00:02.5000000 (Compare returns 1)
//       02:00:00 > 00:20:00 (Compare returns 1)
//       02:00:00 > 01:00:00 (Compare returns 1)
//       02:00:00 > 01:30:00 (Compare returns 1)
//       02:00:00 = 02:00:00 (Compare returns 0)
//       02:00:00 < 12:00:00 (Compare returns -1)
//       02:00:00 < 1.00:00:00 (Compare returns -1)
Public Module Example
    Public Sub Main()
        ' Define a time interval equal to 2 hours.
        Dim baseInterval As New TimeSpan( 2, 0, 0)

        ' Define an array of time intervals to compare with  
        ' the base interval.
        Dim spans() As TimeSpan = { TimeSpan.FromSeconds(-2.5),
                                    TimeSpan.FromMinutes(20),
                                    TimeSpan.FromHours(1), 
                                    TimeSpan.FromMinutes(90),
                                    baseInterval,  
                                    TimeSpan.FromDays(.5), 
                                    TimeSpan.FromDays(1) }

        ' Compare the time intervals.
        For Each span In spans
           Dim result As Integer = TimeSpan.Compare(baseInterval, span)
           Console.WriteLine("{0} {1} {2} (Compare returns {3})", 
                             baseInterval,
                             If(result = 1, ">", If(result = 0, "=", "<")),
                             span, result)
        Next
    End Sub 
End Module 
' The example displays the following output:
'       02:00:00 > -00:00:02.5000000 (Compare return
'       02:00:00 > 00:20:00 (Compare returns 1
'       02:00:00 > 01:00:00 (Compare returns 1
'       02:00:00 > 01:30:00 (Compare returns 1
'       02:00:00 = 02:00:00 (Compare returns 0
'       02:00:00 < 12:00:00 (Compare returns -1
'       02:00:00 < 1.00:00:00 (Compare returns -1

Applies to

See also