TimeSpan.FromHours Method

Definition

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

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

C#
public static TimeSpan FromHours(double value);

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.

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
*/

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.

C#
// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours);

See also

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

FromHours(Int32)

Initializes a new instance of the TimeSpan structure to a specified number of hours.

C#
public static TimeSpan FromHours(int hours);

Parameters

hours
Int32

Number of hours.

Returns

Returns a TimeSpan that represents a specified number of hours.

Exceptions

The parameters specify a TimeSpan value less than MinValue or greater than MaxValue

Applies to

.NET 9
Product Versions
.NET 9

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.

C#
public static TimeSpan FromHours(int hours, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0);

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.

Exceptions

The parameters specify a TimeSpan value less than MinValue or greater than MaxValue

Applies to

.NET 9
Product Versions
.NET 9