TimeSpan.FromSeconds(Double) 方法
定义
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
秒数,精确到最接近的毫秒。A number of seconds, 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.
示例
下面的示例使用方法创建几个 TimeSpan 对象 FromSeconds 。The following example creates several TimeSpan objects using the FromSeconds method.
// 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.
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 。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 ,这可能会 OverflowException 为接近但仍在或的范围内的值生成 MinValue MaxValue ,这就是的原因, OverflowException 例如,尝试实例化 TimeSpan 对象。Note that, because of the loss of precision of the Double data type, this can generate an OverflowException for values that are near but still in the range of either MinValue or MaxValue, This is the cause of an OverflowException, for example, in the following attempt to instantiate a TimeSpan object.
// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromSeconds(TimeSpan.MaxValue.TotalSeconds);
' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromSeconds(TimeSpan.MaxValue.TotalSeconds)