TimeSpan.FromHours(Double) TimeSpan.FromHours(Double) TimeSpan.FromHours(Double) TimeSpan.FromHours(Double) Method

Definición

Devuelve un TimeSpan que representa un número de horas especificado con una precisión aproximada al milisegundo más cercano.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

Parámetros

value
Double Double Double Double

Número de horas con una precisión aproximada al milisegundo más cercano.A number of hours accurate to the nearest millisecond.

Devoluciones

Objeto que representa value.An object that represents value.

Excepciones

value es menor que MinValue o mayor que MaxValue.value is less than MinValue or greater than MaxValue.

O bien-or- value es PositiveInfinity.value is PositiveInfinity.

O bien-or- value es NegativeInfinity.value is NegativeInfinity.

Ejemplos

En el ejemplo siguiente se TimeSpan crean varios objetos FromHours mediante el método.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

Comentarios

El value parámetro se convierte en milisegundos, que se convierte en pasos, y ese número de pasos se usa para inicializar el nuevo 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. Por lo value tanto, solo se considerará preciso hasta el milisegundo más cercano.Therefore, value will only be considered accurate to the nearest millisecond. Tenga en cuenta que, debido a la pérdida de precisión Double del tipo de datos, esta conversión puede OverflowException generar un para los valores cercanos a, pero que aún están MinValue en el MaxValueintervalo de o.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. Por ejemplo, esto provoca un OverflowException en el siguiente intento de crear una instancia TimeSpan de un objeto.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)

Se aplica a

Consulte también: