TimeSpan.FromDays(Double) メソッド

定義

指定した日数を表す TimeSpan を返します。日数は、ミリ秒単位の精度で指定します。

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

ミリ秒単位の精度による日数。

戻り値

TimeSpan

value を表すオブジェクト。

例外

valueMinValue より小さいか MaxValue より大きいです。

または valueNegativeInfinityです。

valueNaN が等価です。

次の例では TimeSpan 、メソッドを使用して複数のオブジェクトを作成し 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

注釈

パラメーターは、 value タイマー刻みに変換されるミリ秒に変換され、タイマー刻みの数を使用して新しいが初期化され TimeSpan ます。 したがって、 value は、ミリ秒単位の精度でのみ正確であると見なされます。 データ型の精度が失われているため、 Double この変換では、の近くにある OverflowException が、またはの範囲内にある値に対してが発生する可能性があることに注意して MinValue MaxValue ください。 たとえば、次のような場合、は、 OverflowException オブジェクトをインスタンス化しようとし 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)

適用対象

こちらもご覧ください