# TimeSpan.FromDays(Double) メソッド

## 定義

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

#### パラメーター

value
Double

ミリ秒単位の精度による日数。A number of days, accurate to the nearest millisecond.

#### 戻り値

`value` を表すオブジェクト。An object that represents `value`.

#### 例外

`value`MinValue より小さいか MaxValue より大きいです。`value` is less than MinValue or greater than MaxValue.

- または --or- `value`PositiveInfinityです。`value` is PositiveInfinity.

- または --or- `value`NegativeInfinityです。`value` is NegativeInfinity.

`value`NaN が等価です。`value` is equal to NaN.

## 例

``````// 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
``````

## 注釈

`value` パラメーターは、タイマー刻みに変換されるミリ秒に変換され、このタイマー刻みの数を使用して新しい 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. したがって、`value` は、ミリ秒単位で正確に見なされます。Therefore, `value` will only be considered accurate to the nearest millisecond. Double データ型の精度が失われているため、この変換では、の近くにあるが、MinValue または MaxValueの範囲内にある値に対して OverflowException が発生する可能性があることに注意してください。Note that, because of the loss of precision of the Double data type, this conversion can cause an OverflowException for values that are near to but still in the range of either MinValue or MaxValue. たとえば、次のような場合に、TimeSpan オブジェクトをインスタンス化しようとすると OverflowException が発生します。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.FromDays(TimeSpan.MaxValue.TotalDays);
``````
``````' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromDays(TimeSpan.MaxValue.TotalDays)
``````