# 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
``````