# TimeSpan.FromDays(Double) Método

## Definición

Devuelve un TimeSpan que representa un número de días especificado con una precisión aproximada al milisegundo más cercano.

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

#### Parámetros

value
Double

Número de días con una precisión aproximada al milisegundo más cercano.

#### Devoluciones

TimeSpan

Objeto que representa `value`.

#### Excepciones

`value` es menor que MinValue o mayor que MaxValue.

o bien `value` es PositiveInfinity.

O bien `value` es NegativeInfinity.

`value` es igual a NaN.

## Ejemplos

En el ejemplo siguiente se crean TimeSpan varios objetos mediante el método FromDays .

``````// Example of the TimeSpan::FromDays( double ) method.
using namespace System;
void GenTimeSpanFromDays( double days )
{

// Create a TimeSpan object and TimeSpan string from
// a number of days.
TimeSpan interval = TimeSpan::FromDays( days );
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}", days, timeInterval );
}

int main()
{
Console::WriteLine( "This example of TimeSpan::FromDays( double )\n"
"generates the following output.\n" );
Console::WriteLine( "{0,21}{1,18}", "FromDays", "TimeSpan" );
Console::WriteLine( "{0,21}{1,18}", "--------", "--------" );
GenTimeSpanFromDays( 0.000000006 );
GenTimeSpanFromDays( 0.000000017 );
GenTimeSpanFromDays( 0.000123456 );
GenTimeSpanFromDays( 1.234567898 );
GenTimeSpanFromDays( 12345.678987654 );
GenTimeSpanFromDays( 0.000011574 );
GenTimeSpanFromDays( 0.000694444 );
GenTimeSpanFromDays( 0.041666666 );
GenTimeSpanFromDays( 1 );
GenTimeSpanFromDays( 20.84745602 );
}

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

FromDays          TimeSpan
--------          --------
6E-09          00:00:00.0010000
1.7E-08          00:00:00.0010000
0.000123456          00:00:10.6670000
1.234567898        1.05:37:46.6660000
12345.678987654    12345.16:17:44.5330000
1.1574E-05          00:00:01
0.000694444          00:01:00
0.041666666          01:00:00
1        1.00:00:00
20.84745602       20.20:20:20.2000000
*/
``````
``````// Example of the TimeSpan.FromDays( double ) method.
using System;

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

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

GenTimeSpanFromDays( 0.000000006 );
GenTimeSpanFromDays( 0.000000017 );
GenTimeSpanFromDays( 0.000123456 );
GenTimeSpanFromDays( 1.234567898 );
GenTimeSpanFromDays( 12345.678987654 );
GenTimeSpanFromDays( 0.000011574 );
GenTimeSpanFromDays( 0.000694444 );
GenTimeSpanFromDays( 0.041666666 );
GenTimeSpanFromDays( 1 );
GenTimeSpanFromDays( 20.84745602 );
}
}

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

FromDays          TimeSpan
--------          --------
6E-09          00:00:00.0010000
1.7E-08          00:00:00.0010000
0.000123456          00:00:10.6670000
1.234567898        1.05:37:46.6660000
12345.678987654    12345.16:17:44.5330000
1.1574E-05          00:00:01
0.000694444          00:01:00
0.041666666          01:00:00
1        1.00:00:00
20.84745602       20.20:20:20.2000000
*/
``````
``````' Example of the TimeSpan.FromDays( Double ) method.
Module FromDaysDemo

Sub GenTimeSpanFromDays( days As Double )

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

Sub Main( )

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

GenTimeSpanFromDays( 0.000000006 )
GenTimeSpanFromDays( 0.000000017 )
GenTimeSpanFromDays( 0.000123456 )
GenTimeSpanFromDays( 1.234567898 )
GenTimeSpanFromDays( 12345.678987654 )
GenTimeSpanFromDays( 0.000011574 )
GenTimeSpanFromDays( 0.000694444 )
GenTimeSpanFromDays( 0.041666666 )
GenTimeSpanFromDays( 1 )
GenTimeSpanFromDays( 20.84745602 )
End Sub
End Module

' This example of TimeSpan.FromDays( Double )
' generates the following output.
'
'              FromDays          TimeSpan
'              --------          --------
'                 6E-09          00:00:00.0010000
'               1.7E-08          00:00:00.0010000
'           0.000123456          00:00:10.6670000
'           1.234567898        1.05:37:46.6660000
'       12345.678987654    12345.16:17:44.5330000
'            1.1574E-05          00:00:01
'           0.000694444          00:01:00
'           0.041666666          01:00:00
'                     1        1.00:00:00
'           20.84745602       20.20:20:20.2000000
``````

## Comentarios

El parámetro se convierte en milisegundos, que se convierte en tics, y ese número de pasos se usa `value` para inicializar el nuevo TimeSpan . Por lo `value` tanto, solo se considerará preciso hasta el milisegundo más cercano. Tenga en cuenta que, debido a la pérdida de precisión del tipo de datos, esta conversión puede provocar un para los valores que están cerca de , pero que siguen en el intervalo de Double OverflowException o MinValue MaxValue . Por ejemplo, esto hace que OverflowException en el siguiente intento se cree una instancia de un objeto TimeSpan .

``````// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromDays(TimeSpan.MaxValue.TotalDays);
``````
``````' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromDays(TimeSpan.MaxValue.TotalDays)
``````