TimeSpan.FromSeconds(Double) Método

Definición

Devuelve un TimeSpan que representa un número de segundos especificado con una precisión aproximada al milisegundo más cercano.Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.

public:
 static TimeSpan FromSeconds(double value);
public static TimeSpan FromSeconds (double value);
static member FromSeconds : double -> TimeSpan
Public Shared Function FromSeconds (value As Double) As TimeSpan

Parámetros

value
Double

Número de segundos con una precisión aproximada al milisegundo más cercano.A number of seconds, 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- El valor de value es PositiveInfinity.value is PositiveInfinity.

O bien,-or- El valor de value es NegativeInfinity.value is NegativeInfinity.

value es igual a NaN.value is equal to NaN.

Ejemplos

En el ejemplo siguiente se crean varios objetos TimeSpan mediante el método FromSeconds.The following example creates several TimeSpan objects using the FromSeconds method.

// Example of the TimeSpan::FromSeconds( double ) method.
using namespace System;
void GenTimeSpanFromSeconds( double seconds )
{
   
   // Create a TimeSpan object and TimeSpan string from 
   // a number of seconds.
   TimeSpan interval = TimeSpan::FromSeconds( seconds );
   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}", seconds, timeInterval );
}

int main()
{
   Console::WriteLine( "This example of TimeSpan::FromSeconds( double )\n"
   "generates the following output.\n" );
   Console::WriteLine( "{0,21}{1,18}", "FromSeconds", "TimeSpan" );
   Console::WriteLine( "{0,21}{1,18}", "-----------", "--------" );
   GenTimeSpanFromSeconds( 0.001 );
   GenTimeSpanFromSeconds( 0.0015 );
   GenTimeSpanFromSeconds( 12.3456 );
   GenTimeSpanFromSeconds( 123456.7898 );
   GenTimeSpanFromSeconds( 1234567898.7654 );
   GenTimeSpanFromSeconds( 1 );
   GenTimeSpanFromSeconds( 60 );
   GenTimeSpanFromSeconds( 3600 );
   GenTimeSpanFromSeconds( 86400 );
   GenTimeSpanFromSeconds( 1801220.2 );
}

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

          FromSeconds          TimeSpan
          -----------          --------
                0.001          00:00:00.0010000
               0.0015          00:00:00.0020000
              12.3456          00:00:12.3460000
          123456.7898        1.10:17:36.7900000
      1234567898.7654    14288.23:31:38.7650000
                    1          00:00:01
                   60          00:01:00
                 3600          01:00:00
                86400        1.00:00:00
            1801220.2       20.20:20:20.2000000
*/
// Example of the TimeSpan.FromSeconds( double ) method.
using System;

class FromSecondsDemo
{
    static void GenTimeSpanFromSeconds( double seconds )
    {
        // Create a TimeSpan object and TimeSpan string from 
        // a number of seconds.
        TimeSpan    interval = TimeSpan.FromSeconds( seconds );
        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}", seconds, timeInterval );
    } 

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

        GenTimeSpanFromSeconds( 0.001 );
        GenTimeSpanFromSeconds( 0.0015 );
        GenTimeSpanFromSeconds( 12.3456 );
        GenTimeSpanFromSeconds( 123456.7898 );
        GenTimeSpanFromSeconds( 1234567898.7654 );
        GenTimeSpanFromSeconds( 1 );
        GenTimeSpanFromSeconds( 60 );
        GenTimeSpanFromSeconds( 3600 );
        GenTimeSpanFromSeconds( 86400 );
        GenTimeSpanFromSeconds( 1801220.2 );
    } 
} 

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

          FromSeconds          TimeSpan
          -----------          --------
                0.001          00:00:00.0010000
               0.0015          00:00:00.0020000
              12.3456          00:00:12.3460000
          123456.7898        1.10:17:36.7900000
      1234567898.7654    14288.23:31:38.7650000
                    1          00:00:01
                   60          00:01:00
                 3600          01:00:00
                86400        1.00:00:00
            1801220.2       20.20:20:20.2000000
*/ 
' Example of the TimeSpan.FromSeconds( Double ) method.
Module FromSecondsDemo

    Sub GenTimeSpanFromSeconds( seconds As Double )

        ' Create a TimeSpan object and TimeSpan string from 
        ' a number of seconds.
        Dim interval As TimeSpan = _
            TimeSpan.FromSeconds( seconds )
        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}", seconds, timeInterval )
    End Sub 

    Sub Main( )

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

        GenTimeSpanFromSeconds( 0.001 )
        GenTimeSpanFromSeconds( 0.0015 )
        GenTimeSpanFromSeconds( 12.3456 )
        GenTimeSpanFromSeconds( 123456.7898 )
        GenTimeSpanFromSeconds( 1234567898.7654 )
        GenTimeSpanFromSeconds( 1 )
        GenTimeSpanFromSeconds( 60 )
        GenTimeSpanFromSeconds( 3600 )
        GenTimeSpanFromSeconds( 86400 )
        GenTimeSpanFromSeconds( 1801220.2 )
    End Sub
End Module 

' This example of TimeSpan.FromSeconds( Double )
' generates the following output.
' 
'           FromSeconds          TimeSpan
'           -----------          --------
'                 0.001          00:00:00.0010000
'                0.0015          00:00:00.0020000
'               12.3456          00:00:12.3460000
'           123456.7898        1.10:17:36.7900000
'       1234567898.7654    14288.23:31:38.7650000
'                     1          00:00:01
'                    60          00:01:00
'                  3600          01:00:00
'                 86400        1.00:00:00
'             1801220.2       20.20:20:20.2000000

Comentarios

El parámetro value 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 tanto, value 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 del tipo de datos Double, esto puede generar un OverflowException para los valores que están cercanos pero que todavía están en el intervalo de MinValue o MaxValue, es la causa de una OverflowException, por ejemplo, en el siguiente intento de crear una instancia de un objeto TimeSpan.Note that, because of the loss of precision of the Double data type, this can generate an OverflowException for values that are near but still in the range of either MinValue or MaxValue, This is the cause of an OverflowException, for example, in the following attempt to instantiate a TimeSpan object.

// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromSeconds(TimeSpan.MaxValue.TotalSeconds);
' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromSeconds(TimeSpan.MaxValue.TotalSeconds)

Se aplica a

Consulte también: