Export (0) Print
Expand All

TimeSpan.Compare Method

Compares two TimeSpan values and returns an integer that indicates their relationship.

[Visual Basic]
Public Shared Function Compare( _
   ByVal t1 As TimeSpan, _
   ByVal t2 As TimeSpan _
) As Integer
[C#]
public static int Compare(
 TimeSpan t1,
 TimeSpan t2
);
[C++]
public: static int Compare(
 TimeSpan t1,
 TimeSpan t2
);
[JScript]
public static function Compare(
   t1 : TimeSpan,
 t2 : TimeSpan
) : int;

Parameters

t1
A TimeSpan.
t2
A TimeSpan.

Return Value

Value Condition
-1 t1 is less than t2
0 t1 is equal to t2
1 t1 is greater than t2

Example

[Visual Basic, C#, C++] The following code example compares several TimeSpan objects to a reference TimeSpan using the Compare method.

[Visual Basic] 
' Example of the TimeSpan.Compare( TimeSpan, TimeSpan ) and 
' TimeSpan.Equals( TimeSpan, TimeSpan ) methods.
Imports System
Imports Microsoft.VisualBasic

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

    ' Compare TimeSpan parameters, and display them with the results.
    Sub CompareTimeSpans( Left as TimeSpan, Right as TimeSpan, _
        RightText as String )

        Console.WriteLine( )
        Console.WriteLine( dataFmt, "Right: " & RightText, Right )
        Console.WriteLine( dataFmt, "TimeSpan.Equals( Left, Right )", _
            TimeSpan.Equals( Left, Right ) )
        Console.WriteLine( dataFmt, _
            "TimeSpan.Compare( Left, Right )", _
            TimeSpan.Compare( Left, Right ) )
    End Sub

    Sub Main( )
        Dim Left as new TimeSpan( 2, 0, 0 )

        Console.WriteLine( _
            "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 )
        Console.WriteLine( dataFmt, "Left: TimeSpan( 2, 0, 0 )", Left )

        ' Create objects to compare with a 2-hour TimeSpan.
        CompareTimeSpans( Left, new TimeSpan( 0, 120, 0 ), _
            "TimeSpan( 0, 120, 0 )" )
        CompareTimeSpans( Left, new TimeSpan( 2, 0, 1 ), _
            "TimeSpan( 2, 0, 1 )" )
        CompareTimeSpans( Left, new TimeSpan( 2, 0, -1 ), _
            "TimeSpan( 2, 0, -1 )" )
        CompareTimeSpans( Left, new TimeSpan( 72000000000 ), _
            "TimeSpan( 72000000000 )" )
        CompareTimeSpans( Left, TimeSpan.FromDays( 1.0 / 12R ), _
            "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

[C#] 
// Example of the TimeSpan.Compare( TimeSpan, TimeSpan ) and 
// TimeSpan.Equals( TimeSpan, TimeSpan ) methods.
using System;

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

    // Compare TimeSpan parameters, and display them with the results.
    static void CompareTimeSpans( TimeSpan Left, TimeSpan Right, 
        string RightText )
    {
        Console.WriteLine( );
        Console.WriteLine( dataFmt, "Right: " + RightText, Right );
        Console.WriteLine( dataFmt, "TimeSpan.Equals( Left, Right )", 
            TimeSpan.Equals( Left, Right ) );
        Console.WriteLine( dataFmt, 
            "TimeSpan.Compare( Left, Right )", 
            TimeSpan.Compare( Left, Right ) );
    }

    static void Main( )
    {
        TimeSpan Left = new TimeSpan( 2, 0, 0 );

        Console.WriteLine(
            "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" );
        Console.WriteLine( dataFmt, "Left: TimeSpan( 2, 0, 0 )", 
            Left );

        // Create objects to compare with a 2-hour TimeSpan.
        CompareTimeSpans( Left, new TimeSpan( 0, 120, 0 ), 
            "TimeSpan( 0, 120, 0 )" );
        CompareTimeSpans( Left, new TimeSpan( 2, 0, 1 ), 
            "TimeSpan( 2, 0, 1 )" );
        CompareTimeSpans( Left, new TimeSpan( 2, 0, -1 ), 
            "TimeSpan( 2, 0, -1 )");
        CompareTimeSpans( Left, new TimeSpan( 72000000000 ), 
            "TimeSpan( 72000000000 )" );
        CompareTimeSpans( 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
*/ 

[C++] 
// Example of the TimeSpan::Compare( TimeSpan, TimeSpan ) and 
// TimeSpan::Equals( TimeSpan, TimeSpan ) methods.
#using <mscorlib.dll>
using namespace System;

const __wchar_t* protoFmt = L"{0,-38}{1}" ;

// Compare TimeSpan parameters, and display them with the results.
void CompareTimeSpans( TimeSpan Left, TimeSpan Right, 
    String* RightText )
{
    String* dataFmt = new String( protoFmt );

    Console::WriteLine( );
    Console::WriteLine( dataFmt, 
        String::Concat( S"Right: ", RightText ), __box( Right ) );
    Console::WriteLine( dataFmt, S"TimeSpan::Equals( Left, Right )", 
        __box( TimeSpan::Equals( Left, Right ) ) );
    Console::WriteLine( dataFmt, S"TimeSpan::Compare( Left, Right )", 
        __box( TimeSpan::Compare( Left, Right ) ) );
}

void main( )
{
    TimeSpan Left = TimeSpan( 2, 0, 0 );

    Console::WriteLine(
        S"This example of the TimeSpan::Equals( TimeSpan, TimeSpan " 
        S") and \nTimeSpan::Compare( TimeSpan, TimeSpan ) " 
        S"methods generates the \nfollowing output by creating " 
        S"several different TimeSpan \nobjects and comparing " 
        S"them with a 2-hour TimeSpan.\n" );
    Console::WriteLine( new String( protoFmt ), 
        S"Left: TimeSpan( 2, 0, 0 )", __box( Left ) );

    // Create objects to compare with a 2-hour TimeSpan.
    CompareTimeSpans( Left, TimeSpan( 0, 120, 0 ), 
        S"TimeSpan( 0, 120, 0 )" );
    CompareTimeSpans( Left, TimeSpan( 2, 0, 1 ), 
        S"TimeSpan( 2, 0, 1 )" );
    CompareTimeSpans( Left, TimeSpan( 2, 0, -1 ), 
        S"TimeSpan( 2, 0, -1 )");
    CompareTimeSpans( Left, TimeSpan( 72000000000 ), 
        S"TimeSpan( 72000000000 )" );
    CompareTimeSpans( Left, TimeSpan::FromDays( 1.0 / 12. ), 
        S"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
*/ 

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

TimeSpan Structure | TimeSpan Members | System Namespace | CompareTo | Equals

Show:
© 2014 Microsoft