TimeSpan.FromHours Method   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
| FromHours(Double) | 
						 Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.  | 
        	
| FromHours(Int32) | 
						 Initializes a new instance of the TimeSpan structure to a specified number of hours.  | 
        	
| FromHours(Int32, Int64, Int64, Int64, Int64) | 
						 Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, seconds, milliseconds, and microseconds.  | 
        	
FromHours(Double)
- Source:
 - TimeSpan.cs
 
- Source:
 - TimeSpan.cs
 
- Source:
 - TimeSpan.cs
 
- Source:
 - TimeSpan.cs
 
Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.
public:
 static TimeSpan FromHours(double value);
	public static TimeSpan FromHours(double value);
	static member FromHours : double -> TimeSpan
	Public Shared Function FromHours (value As Double) As TimeSpan
	Parameters
- value
 - Double
 
A number of hours accurate to the nearest millisecond.
Returns
An object that represents value.
Exceptions
value is less than TimeSpan.MinValue or greater than TimeSpan.MaxValue.
-or-
value is PositiveInfinity.
-or-
value is NegativeInfinity.
value is equal to NaN.
Examples
The following example creates several TimeSpan objects using the FromHours method.
// 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
*/
// Example of the TimeSpan.FromHours( double ) method.
open System
let genTimeSpanFromHours hours =
    // Create a TimeSpan object and TimeSpan string from 
    // a number of hours.
    let interval = TimeSpan.FromHours hours
    let timeInterval = string interval
    // Pad the end of the TimeSpan string with spaces if it 
    // does not contain milliseconds.
    let pIndex = timeInterval.IndexOf ':'
    let pIndex = timeInterval.IndexOf('.', pIndex)
    let timeInterval =
        if pIndex < 0 then timeInterval + "        "
        else timeInterval
    printfn $"{hours,21}{timeInterval,26}"
printfn "This example of TimeSpan.FromHours( double )\ngenerates the following output.\n"
printfn "%21s%18s" "FromHours" "TimeSpan"
printfn "%21s%18s" "---------" "--------"
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
*)
' Example of the TimeSpan.FromHours( Double ) method.
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
    	Remarks
The value parameter is converted to milliseconds, which is converted to ticks, and that number of ticks is used to initialize the new TimeSpan. Therefore, value will only be considered accurate to the nearest millisecond. Note that, because of the loss of precision of the Double data type, this conversion can generate an OverflowException for values that are near to but still in the range of either MinValue or MaxValue. For example, this causes an OverflowException in the following attempt to instantiate a TimeSpan object.
// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours);
// The following throws an OverflowException at runtime
let maxSpan = TimeSpan.FromHours TimeSpan.MaxValue.TotalHours
' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours)
    	See also
- Double
 - FromTicks(Int64)
 - FromMilliseconds(Double)
 - FromSeconds(Double)
 - FromMinutes(Double)
 - FromDays(Double)
 
Applies to
FromHours(Int32)
- Source:
 - TimeSpan.cs
 
Initializes a new instance of the TimeSpan structure to a specified number of hours.
public:
 static TimeSpan FromHours(int hours);
	public static TimeSpan FromHours(int hours);
	static member FromHours : int -> TimeSpan
	Public Shared Function FromHours (hours As Integer) As TimeSpan
	Parameters
- hours
 - Int32
 
Number of hours.
Returns
Returns a TimeSpan that represents a specified number of hours.
Exceptions
Applies to
FromHours(Int32, Int64, Int64, Int64, Int64)
- Source:
 - TimeSpan.cs
 
Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, seconds, milliseconds, and microseconds.
public static TimeSpan FromHours(int hours, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0);
	static member FromHours : int * int64 * int64 * int64 * int64 -> TimeSpan
	Public Shared Function FromHours (hours As Integer, Optional minutes As Long = 0, Optional seconds As Long = 0, Optional milliseconds As Long = 0, Optional microseconds As Long = 0) As TimeSpan
	Parameters
- hours
 - Int32
 
Number of hours.
- minutes
 - Int64
 
Number of minutes.
- seconds
 - Int64
 
Number of seconds.
- milliseconds
 - Int64
 
Number of milliseconds.
- microseconds
 - Int64
 
Number of microseconds.
Returns
Returns a TimeSpan that represents a specified number of hours, minutes, seconds, milliseconds, and microseconds.