# TimeSpan.FromHours(Double) Méthode

## Définition

Retourne un TimeSpan qui représente un nombre d'heures spécifié, dont la spécification est précise à la milliseconde près.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``

#### Paramètres

value
Double

Nombre d'heures, précis à la milliseconde près.A number of hours accurate to the nearest millisecond.

#### Retours

Objet qui représente `value`.An object that represents `value`.

#### Exceptions

`value` est inférieur à MinValue ou supérieur à MaxValue.`value` is less than MinValue or greater than MaxValue.

-ou--or- `value` a la valeur PositiveInfinity.`value` is PositiveInfinity.

-ou--or- `value` a la valeur NegativeInfinity.`value` is NegativeInfinity.

`value` est égal à NaN.`value` is equal to NaN.

## Exemples

L’exemple suivant crée plusieurs objets TimeSpan à l’aide de la méthode FromHours.The following example creates several TimeSpan objects using the FromHours method.

``````// Example of the TimeSpan::FromHours( double ) method.
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, "        " );

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

int 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.
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.
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
``````

## Remarques

Le paramètre `value` est converti en millisecondes, qui est converti en graduations, et ce nombre de graduations est utilisé pour initialiser la nouvelle TimeSpan.The `value` parameter is converted to milliseconds, which is converted to ticks, and that number of ticks is used to initialize the new TimeSpan. Par conséquent, `value` sera considéré comme précis à la milliseconde près.Therefore, `value` will only be considered accurate to the nearest millisecond. Notez que, en raison de la perte de précision du type de données Double, cette conversion peut générer une OverflowException pour les valeurs proches de, mais toujours dans la plage de MinValue ou MaxValue.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. Par exemple, cela provoque une OverflowException dans la tentative suivante d’instancier un objet TimeSpan.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
Dim maxSpan As TimeSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours)
``````