TimeSpan.FromSeconds(Double) Metoda

Definicja

Zwraca wartość TimeSpan reprezentującą określoną liczbę sekund, gdzie specyfikacja jest dokładna do najbliższej milisekundy.

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

Parametry

value
Double

Liczba sekund, dokładna do najbliższej milisekundy.

Zwraca

Obiekt reprezentujący value.

Wyjątki

value wartość jest mniejsza niż TimeSpan.MinValue lub większa niż TimeSpan.MaxValue.

-lub-

value to PositiveInfinity.

-lub-

value to NegativeInfinity.

value jest równe NaN.

Przykłady

Poniższy przykład tworzy kilka TimeSpan obiektów przy użyciu FromSeconds metody .

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

Uwagi

Parametr value jest konwertowany na milisekundy, który jest konwertowany na znaczniki, a ta liczba znaczników jest używana do inicjowania nowego TimeSpanelementu . value W związku z tym zostaną uznane za dokładne tylko najbliższe milisekundy. Należy pamiętać, że ze względu na utratę dokładności Double typu danych może to wygenerować OverflowException wartość dla wartości, które znajdują się w pobliżu, ale nadal w zakresie MinValue wartości lub MaxValue, jest to przyczyna OverflowExceptionelementu , na przykład w poniższej próbie utworzenia wystąpienia TimeSpan obiektu.

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

Dotyczy

Zobacz też