TimeSpan.FromDays Método

Definição

Sobrecargas

FromDays(Double)

Retorna um TimeSpan que representa um número especificado de dias, em que a especificação é precisa para o milissegundo mais próximo.

FromDays(Int32)

Inicializa uma nova instância da estrutura de TimeSpan para um número especificado de dias.

FromDays(Int32, Int32, Int64, Int64, Int64, Int64)

Inicializa uma nova instância da estrutura TimeSpan para um número especificado de dias, horas, minutos, segundos, milissegundos e microssegundos.

FromDays(Double)

Origem:
TimeSpan.cs
Origem:
TimeSpan.cs
Origem:
TimeSpan.cs

Retorna um TimeSpan que representa um número especificado de dias, em que a especificação é precisa para o milissegundo mais próximo.

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

Um número de dias, preciso para o milissegundo mais próximo.

Retornos

Um objeto que representa value.

Exceções

value é menor que TimeSpan.MinValue ou maior que TimeSpan.MaxValue.

-ou-

value é PositiveInfinity.

-ou-

value é NegativeInfinity.

value é igual a NaN.

Exemplos

O exemplo a seguir cria vários objetos TimeSpan usando o 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.
open System

let genTimeSpanFromDays days =
    // Create a TimeSpan object and TimeSpan string from 
    // a number of days.
    let interval = TimeSpan.FromDays days
    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 $"{days,21}{timeInterval,26}"

printfn "This example of TimeSpan.FromDays( double )\ngenerates the following output.\n"
printfn "%21s%18s" "FromDays" "TimeSpan"
printfn "%21s%18s" "--------" "--------"

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

Comentários

O parâmetro value é convertido em milissegundos, que é convertido em tiques e esse número de tiques é usado para inicializar o novo TimeSpan. Portanto, value só será considerada precisa para o milissegundo mais próximo. Observe que, devido à perda de precisão do tipo de dados Double, essa conversão pode causar uma OverflowException para valores próximos, mas ainda no intervalo de MinValue ou MaxValue. Por exemplo, isso faz com que um OverflowException na tentativa a seguir de instanciar um objeto TimeSpan.

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

Confira também

Aplica-se a

FromDays(Int32)

Inicializa uma nova instância da estrutura de TimeSpan para um número especificado de dias.

public:
 static TimeSpan FromDays(int days);
public static TimeSpan FromDays (int days);
static member FromDays : int -> TimeSpan
Public Shared Function FromDays (days As Integer) As TimeSpan

Parâmetros

days
Int32

Número de dias.

Retornos

Retorna um TimeSpan que representa um número especificado de dias.

Exceções

Os parâmetros especificam um valor TimeSpan menor que MinValue ou maior que MaxValue

Aplica-se a

FromDays(Int32, Int32, Int64, Int64, Int64, Int64)

Inicializa uma nova instância da estrutura TimeSpan para um número especificado de dias, horas, minutos, segundos, milissegundos e microssegundos.

public static TimeSpan FromDays (int days, int hours = 0, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0);
static member FromDays : int * int * int64 * int64 * int64 * int64 -> TimeSpan
Public Shared Function FromDays (days As Integer, Optional hours As Integer = 0, Optional minutes As Long = 0, Optional seconds As Long = 0, Optional milliseconds As Long = 0, Optional microseconds As Long = 0) As TimeSpan

Parâmetros

days
Int32

Número de dias.

hours
Int32

Número de horas.

minutes
Int64

Número de minutos.

seconds
Int64

Número de segundos.

milliseconds
Int64

Número de milissegundos.

microseconds
Int64

Número de microssegundos.

Retornos

Retorna um TimeSpan que representa um número especificado de dias, horas, minutos, segundos, milissegundos e microssegundos.

Exceções

Os parâmetros especificam um valor TimeSpan menor que MinValue ou maior que MaxValue

Aplica-se a