TimeSpan.FromSeconds(Double) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un TimeSpan que representa un número de segundos especificado con una precisión aproximada al milisegundo más cercano.
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.
Devoluciones
Objeto que representa value
.
Excepciones
value
es menor que TimeSpan.MinValue o mayor que TimeSpan.MaxValue.
o bien
value
es PositiveInfinity.
o bien
value
es NegativeInfinity.
value
es igual a NaN.
Ejemplos
En el ejemplo siguiente se crean varios TimeSpan objetos mediante el FromSeconds método .
// 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.
open System
let genTimeSpanFromSeconds seconds =
// Create a TimeSpan object and TimeSpan string from
// a number of seconds.
let interval = TimeSpan.FromSeconds seconds
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 $"{seconds,21}{timeInterval,26}"
printfn "This example of TimeSpan.FromSeconds( double )\ngenerates the following output.\n"
printfn "%21s%18s" "FromSeconds" "TimeSpan"
printfn "%21s%18s" "-----------" "--------"
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 value
parámetro se convierte en milisegundos, que se convierte en tics y ese número de tics se usa para inicializar el nuevo TimeSpan. Por lo tanto, value
solo se considerará preciso para el milisegundo más cercano. Tenga en cuenta que, debido a la pérdida de precisión del Double tipo de datos, esto puede generar un OverflowException para los valores que están cerca pero aún en el intervalo de MinValue o MaxValue, Esta es la causa de un OverflowException, por ejemplo, en el siguiente intento de crear instancias de un TimeSpan objeto .
// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromSeconds(TimeSpan.MaxValue.TotalSeconds);
// The following throws an OverflowException at runtime
let maxSpan = TimeSpan.FromSeconds TimeSpan.MaxValue.TotalSeconds
' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromSeconds(TimeSpan.MaxValue.TotalSeconds)