Export (0) Print
Expand All

TimeSpan.FromHours Method

Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.

[Visual Basic]
Public Shared Function FromHours( _
   ByVal value As Double _
) As TimeSpan
[C#]
public static TimeSpan FromHours(
 double value
);
[C++]
public: static TimeSpan FromHours(
 double value
);
[JScript]
public static function FromHours(
   value : double
) : TimeSpan;

Parameters

value
A number of hours accurate to the nearest millisecond.

Return Value

A TimeSpan that represents value.

Exceptions

Exception Type Condition
OverflowException value is less than MinValue or greater than MaxValue.
ArgumentException value is equal to Double.NaN.

Remarks

The value parameter is converted to milliseconds, which is converted to ticks, and that number of ticks is used to intialize the new TimeSpan. Therefore, value will only be considered accurate to the nearest millisecond.

If value is Double.PositiveInfinity, MaxValue is returned. If value is Double.NegativeInfinity, MinValue is returned.

Example

[Visual Basic, C#, C++] The following code example creates several TimeSpan objects using the FromHours method.

[Visual Basic] 
' Example of the TimeSpan.FromHours( Double ) method.
Imports System
Imports Microsoft.VisualBasic

Module FromHoursDemo

    Sub GenTimeSpanFromHours( hours As Double )

        ' Create a TimeSpan object and TimeSpan string from 
        ' a number of hours.
        Dim interval As TimeSpan = _
            TimeSpan.FromHours( hours )
        Dim timeInterval As String = interval.ToString( )

        ' Pad the end of the TimeSpan string with spaces if it 
        ' does not contain milliseconds.
        Dim pIndex As Integer = timeInterval.IndexOf( ":"c )
        pIndex = timeInterval.IndexOf( "."c, pIndex )
        If pIndex < 0 Then  timeInterval &= "        "

        Console.WriteLine( "{0,21}{1,26}", hours, timeInterval )
    End Sub 

    Sub Main( )

        Console.WriteLine( "This example of " & _
            "TimeSpan.FromHours( Double )" & _
            vbCrLf & "generates the following output." & vbCrLf )
        Console.WriteLine( "{0,21}{1,18}", _
            "FromHours", "TimeSpan" )    
        Console.WriteLine( "{0,21}{1,18}", _
            "---------", "--------" )    

        GenTimeSpanFromHours( 0.0000002 )
        GenTimeSpanFromHours( 0.0000003 )
        GenTimeSpanFromHours( 0.0012345 )
        GenTimeSpanFromHours( 12.3456789 )
        GenTimeSpanFromHours( 123456.7898765 )
        GenTimeSpanFromHours( 0.0002777 )
        GenTimeSpanFromHours( 0.0166666 )
        GenTimeSpanFromHours( 1 )
        GenTimeSpanFromHours( 24 )
        GenTimeSpanFromHours( 500.3389445 )
    End Sub 
End Module 

' This example of TimeSpan.FromHours( Double )
' generates the following output.
' 
'             FromHours          TimeSpan
'             ---------          --------
'                 2E-07          00:00:00.0010000
'                 3E-07          00:00:00.0010000
'             0.0012345          00:00:04.4440000
'            12.3456789          12:20:44.4440000
'        123456.7898765     5144.00:47:23.5550000
'             0.0002777          00:00:01
'             0.0166666          00:01:00
'                     1          01:00:00
'                    24        1.00:00:00
'           500.3389445       20.20:20:20.2000000

[C#] 
// Example of the TimeSpan.FromHours( double ) method.
using System;

class FromHoursDemo
{
    static void GenTimeSpanFromHours( double hours )
    {
        // Create a TimeSpan object and TimeSpan string from 
        // a number of hours.
        TimeSpan    interval = TimeSpan.FromHours( hours );
        string      timeInterval = interval.ToString( );

        // Pad the end of the TimeSpan string with spaces if it 
        // does not contain milliseconds.
        int pIndex = timeInterval.IndexOf( ':' );
        pIndex = timeInterval.IndexOf( '.', pIndex );
        if( pIndex < 0 )   timeInterval += "        ";

        Console.WriteLine( "{0,21}{1,26}", hours, timeInterval );
    } 

    static void Main( )
    {
        Console.WriteLine(
            "This example of TimeSpan.FromHours( double )\n" +
            "generates the following output.\n" );
        Console.WriteLine( "{0,21}{1,18}",
            "FromHours", "TimeSpan" );
        Console.WriteLine( "{0,21}{1,18}", 
            "---------", "--------" );

        GenTimeSpanFromHours( 0.0000002 );
        GenTimeSpanFromHours( 0.0000003 );
        GenTimeSpanFromHours( 0.0012345 );
        GenTimeSpanFromHours( 12.3456789 );
        GenTimeSpanFromHours( 123456.7898765 );
        GenTimeSpanFromHours( 0.0002777 );
        GenTimeSpanFromHours( 0.0166666 );
        GenTimeSpanFromHours( 1 );
        GenTimeSpanFromHours( 24 );
        GenTimeSpanFromHours( 500.3389445 );
    } 
} 

/*
This example of TimeSpan.FromHours( double )
generates the following output.

            FromHours          TimeSpan
            ---------          --------
                2E-07          00:00:00.0010000
                3E-07          00:00:00.0010000
            0.0012345          00:00:04.4440000
           12.3456789          12:20:44.4440000
       123456.7898765     5144.00:47:23.5550000
            0.0002777          00:00:01
            0.0166666          00:01:00
                    1          01:00:00
                   24        1.00:00:00
          500.3389445       20.20:20:20.2000000
*/ 

[C++] 
// Example of the TimeSpan::FromHours( double ) method.
#using <mscorlib.dll>
using namespace System;

void GenTimeSpanFromHours( double hours )
{
    // Create a TimeSpan object and TimeSpan string from 
    // a number of hours.
    TimeSpan    interval = TimeSpan::FromHours( hours );
    String*     timeInterval = interval.ToString( );

    // Pad the end of the TimeSpan string with spaces if it 
    // does not contain milliseconds.
    int pIndex = timeInterval->IndexOf( ':' );
    pIndex = timeInterval->IndexOf( '.', pIndex );
    if( pIndex < 0 )
        timeInterval = String::Concat( timeInterval, S"        " );

    Console::WriteLine( S"{0,21}{1,26}", __box( hours ), 
        timeInterval );
} 

void main( )
{
    Console::WriteLine(
        S"This example of TimeSpan::FromHours( double )\n" 
        S"generates the following output.\n" );
    Console::WriteLine( S"{0,21}{1,18}",
        S"FromHours", S"TimeSpan" );
    Console::WriteLine( S"{0,21}{1,18}", 
        S"---------", S"--------" );

    GenTimeSpanFromHours( 0.0000002 );
    GenTimeSpanFromHours( 0.0000003 );
    GenTimeSpanFromHours( 0.0012345 );
    GenTimeSpanFromHours( 12.3456789 );
    GenTimeSpanFromHours( 123456.7898765 );
    GenTimeSpanFromHours( 0.0002777 );
    GenTimeSpanFromHours( 0.0166666 );
    GenTimeSpanFromHours( 1 );
    GenTimeSpanFromHours( 24 );
    GenTimeSpanFromHours( 500.3389445 );
} 

/*
This example of TimeSpan::FromHours( double )
generates the following output.

            FromHours          TimeSpan
            ---------          --------
                2E-07          00:00:00.0010000
                3E-07          00:00:00.0010000
            0.0012345          00:00:04.4440000
           12.3456789          12:20:44.4440000
       123456.7898765     5144.00:47:23.5550000
            0.0002777          00:00:01
            0.0166666          00:01:00
                    1          01:00:00
                   24        1.00:00:00
          500.3389445       20.20:20:20.2000000
*/ 

[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 | Double | FromTicks | FromMilliseconds | FromSeconds | FromMinutes | FromDays

Show:
© 2014 Microsoft