# TimeSpan.FromSeconds 方法

## 重载

 FromSeconds(Double) 返回一个表示指定秒数的 TimeSpan，其中规范准确到最接近毫秒。 FromSeconds(Int64) 将 TimeSpan 结构的新实例初始化为指定的秒数。 FromSeconds(Int64, Int64, Int64) 将 TimeSpan 结构的新实例初始化为指定的秒数、毫秒数和微秒数。

## FromSeconds(Double)

Source:
TimeSpan.cs
Source:
TimeSpan.cs
Source:
TimeSpan.cs

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

value
Double

#### 例外

value 小于 TimeSpan.MinValue 或大于 TimeSpan.MaxValue

-或-

value PositiveInfinity

-或-

value NegativeInfinity

value 等于 NaN

### 示例

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


### 注解

value 参数转换为毫秒，该毫秒转换为时钟周期，并且该时钟周期数用于初始化新的 TimeSpan。 因此，value 仅被视为最接近毫秒的准确值。 请注意，由于 Double 数据类型的精度损失，这可以为 MinValueMaxValue范围内的值生成 OverflowException，例如，在以下尝试实例化 TimeSpan 对象时，这是 OverflowException的原因。

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


## FromSeconds(Int64)

TimeSpan 结构的新实例初始化为指定的秒数。

public:
static TimeSpan FromSeconds(long seconds);
public static TimeSpan FromSeconds (long seconds);
static member FromSeconds : int64 -> TimeSpan
Public Shared Function FromSeconds (seconds As Long) As TimeSpan

seconds
Int64

## FromSeconds(Int64, Int64, Int64)

TimeSpan 结构的新实例初始化为指定的秒数、毫秒数和微秒数。

public static TimeSpan FromSeconds (long seconds, long milliseconds = 0, long microseconds = 0);
static member FromSeconds : int64 * int64 * int64 -> TimeSpan
Public Shared Function FromSeconds (seconds As Long, Optional milliseconds As Long = 0, Optional microseconds As Long = 0) As TimeSpan

seconds
Int64

milliseconds
Int64

microseconds
Int64